[英]jQuery AJAX POST to PHP issue
我正在嘗試評估id
的值,該值應在POST中從jQuery傳遞到PHP。
調用返回{'id':'99'}
,如果id
不等於0是可以的。我想知道為什么($x == "0")
在我的PHP函數中沒有被評估為true
。
任何幫助將不勝感激! 提前致謝。
jQuery的:
$( document ).ready(function() {
$.ajax({
url: '/more.php',
type: 'POST',
data: JSON.stringify({"id" : "0"}),
success: function(data) {
$("body").append(data);
}
});
});
PHP:
if (isset($_POST['id'])) {
$con=mysqli_connect("localhost","user","pass","schema");
getmore($_POST['id']);
function getmore($x) {
if ($x == "0") {
$sqldata = mysqli_query($con,"SELECT * FROM IRCLOG WHERE DATETIME >= date_sub(curdate(),interval 1 day)");
}
else {
$sqldata = mysqli_query($con,"SELECT * FROM IRCLOG WHERE DATETIME >= date_sub(curdate(),interval 1 day)");
}
// your business logic
$rows = array();
while($r = mysqli_fetch_array($sqldata)) {
$rows[] = $r;
}
echo json_encode($rows);
}
}
else {echo "{'id':'99'}";}
我認為這可能是因為PHP將$_POST['id']
為整數。 請嘗試以下操作:
function getmore($x) {
$x = intval( $x );
if ($x == 0) {
另一個原因可能是您的AJAX發送數據不正確。 嘗試使用:
data: {id : "0"}
在AJAX請求中。
AJAX調用中的data
設置接受PlainObject
或String
參數。 從文檔:
如果還不是字符串,則將其轉換為查詢字符串。 它被附加到GET請求的URL上。 請參閱
processData
選項以防止這種自動處理。 對象必須是鍵/值對。 如果value是一個Array,則jQuery會根據傳統設置(如下所述)的值,使用相同的鍵序列化多個值。
你為什么不使用
$(document).ready( function() {
var id_main = 0;
$.ajax ({
type: "POST",
url: "/more.php",
data: { id: id_main },
});
});
這樣發送您的數據。 數據:{“ id”:“ 0”},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.