#php #jquery #ajax
#php #jquery #ajax
Вопрос:
Я хочу использовать значение limit и offset
в моем PHP-коде, но я не могу.
Вот мой код:
var maxData = 0;
var limitt=6;
var offsett=1;
$.ajax({
url: "../model/conn.php",
type: 'POST',
data: 'getData=' 'amp;limit=' limitt 'amp;offset=' offsett,
}).done(function( data ) {
$("#d1 ").html(data);
while (limitt<maxData){
limitt= limitt 6;
offsett=offsett 6;
}
});
<?php
if(isset($_POST['getData'])) {
$serv = "localhost";
$user = "root";
$psrd = "";
$db = "nonc";
$conn = mysqli_connect($serv, $user, $psrd, $db);
$limit=$_POST['amp;limit'];
$offs=$_POST['amp;offset'];
$sql = "SELECT * FROM non_confor limit $offs, $limit;";
$resltt = mysqli_query($conn, $sql);
$checkk = mysqli_num_rows($resltt);
?>
Когда я запускаю свою страницу PHP, они показывают мне, что у меня есть ошибки в $limt
и $offs
, потому что они не получают данные из AJAX.
Комментарии:
1. вы пытаетесь отправить post-вызов?
2. javascript и Php-код находятся в двух отдельных файлах, не так ли?
3. да, они находятся в отдельных файлах
Ответ №1:
Во-первых, вы используете POST
метод для отправки формы и передачи данных в виде строки запроса, который выдает ошибку. Исправьте это, как показано ниже:
$.ajax({
url: "../model/conn.php",
type: 'POST',
data: {
'getData': 1, // passing 1 as you are using getData in php.
'offset': offsett,
'limit': limitt
},
}).done(function(data) {
$("#d1 ").html(data);
while (limitt<maxData){
limitt= limitt 6;
offsett=offsett 6;
}
});
После этого вам нужно внести изменения в свой PHP-код, как показано ниже:
$limit=$_POST['limitt'];
$offs=$_POST['offsett'];
После этого ваш код должен работать нормально. Надеюсь, это поможет вам.
Комментарии:
1. Отлично, надеюсь, вы поддержите и примете мой ответ 🙂
Ответ №2:
Это синтаксическая проблема, вот исправление :
$.ajax({
type: 'POST',
url: '../model/conn.php',
data: {
'getData':limit,
'offset':offsett
},
success: function(msg){
// rest of your code
}
});
Атрибут данных должен иметь в качестве значения формат json