[英]Ajax Error Potentially Due to Incorrect Data Object Being Passed
嗨,我是ajax的新手,我正在嘗試將Json傳遞給數據庫,但是我還沒有那么遠。 目前,我正在嘗試驗證所傳遞的數據是否已成功完成。 但是,我總是陷入ajax錯誤方法。 我將上傳代碼,數據外觀以及錯誤。
謝謝您的幫助!
<script>
function updateTable()
{
alert("Do i try to update table?");
document.getElementById("testLand").innerHTML = "Post Json";
//echo new table values for ID = x
}
function popupClick (){
var popupObj = {};
popupObj["Verified_By"] = $('#popupVBy').val();
popupObj["Date_Verified"] = $('#popupDV').val();
popupObj["Comments"] = $('#popupC').val();
popupObj["Notes"] = $('#popupN').val();
var popupString = JSON.stringify(popupObj);
alert(popupString);
$.ajax({
type: "POST",
dataType: "json",
url: "popupAjax.php",
data: popupObj,
cache: false,
success: function(data)
{
alert("Success");
updateTable();
},
error: function(data)
{
alert("there was an error in the ajax");
alert(JSON.stringify(data));
}
});
}
</script>
var popupString中顯示的JSON正在傳遞:
錯誤:
popupAjax.php文件(警告它是有害的)
<?php
echo "Testing tests are testy";
?>
您將dataType
指定為json。 但這是返回的數據類型,而不是您要發送的數據類型。
您將返回html / text,因此只需刪除dataType
行:
type: "POST",
url: "popupAjax.php",
如果確實要返回json,則需要在服務器端構建數據結構,並在最后發送它。 在您的測試用例中,它將是:
echo json_encode("Testing tests are testy");
但是您也可以發送嵌套的對象或數組。
另外需要注意的是,您可以在表單上使用.serialize()
(如果使用表單...),以便jQuery自動構建一個可以在ajax方法中發送的對象。 然后,您不必手動執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.