所以我的ajax调用工作正常,我在Web检查器旁边看到了一个绿灯,我看到正确的参数被发送回来并返回JSON对象。但是,它会自动进入ERROR。我添加了一些错误处理,并已用完想法。Ajax调用保持失败,没有错误
有没有人看到什么?
的Javascript
function getMoreOlder(id) {
$.ajax({
url: "getmore.php",
type : "POST",
dataType : "json",
data: {
postid : id,
type: "later",
},
success: function(response){
alert("Success");
for (var i=0; i<json.length; i++) {
// alert("Loop");
}
},
error: function(jqXHR,error, errorThrown){
if(jqXHR.status&&jqXHR.status==400){
alert(jqXHR.responseText);
}else{
alert("Something went wrong");
}
}
});
}
PHP脚本
$id = $_POST['postid'];
$type = $_POST['type'];
if($type == "later") {
$sql = "CALL `sp_BlogPosts_PageByPostID`('" . $id ."')";
$exec = mysqli_query($conn, $sql);
while($fetch = mysqli_fetch_assoc($exec)) {
$obj = array(
"PostID" => stripslashes(trim(mysqli_real_escape_string($conn, $fetch['PostID']))),
"Title" => stripslashes(trim(mysqli_real_escape_string($conn, $fetch['title']))),
"Content" => stripslashes(trim(mysqli_real_escape_string($conn, $fetch['content']))),
"Email" => stripslashes(trim(mysqli_real_escape_string($conn, $fetch['email']))),
"Username" => stripslashes(trim(mysqli_real_escape_string($conn, $fetch['username']))),
"Created_At" => stripslashes(substr(trim(mysqli_real_escape_string($conn, $fetch['created_at'])), 0 , 10)));
echo json_encode($obj);
}
示例用法
<button onClick="getMoreOlder(1113);"> Load More Posts </button>
示例返回
{"PostID":"1177","Title":"Off track","Content":"Hi This is a Post", "Email":"[email protected]", "Username":"Abc123", "Created_At":"12-2-14"}
个
要点
正确的变量是在POST
发送
正确的信息在POST
返回始终返回错误出事了!
Web检查显示POST请求
错误是什么? – 2014-12-02 23:38:53
'json'似乎是未定义的! – 2014-12-02 23:42:45
这可能是一个JSON解析问题。将网络检查员的响应文本粘贴到http://jsonlint.com/ – Phil 2014-12-02 23:43:14