我无法从我的jQuery AJAX帖子中获取任何响应文本:
$('document').ready(function()
{
$('#saveRouteTrace').click(function(){
// Build latStr and lonStr
if(saveChanges()) {
$.post('changeRouteTrace.php', {
id: traceRouteId
},
function(data) {
if(data.success) {
alert(data.reason);
}
else {
alert("Error: " + data.reason);
}
}, 'json');
}
});
});
我正在回复如下的回复:
{ "success": true, "reason": "because it worked" }
来自服务器的,但函数(数据)代码永远不会执行。我做错了什么?
答案 0 :(得分:0)
如果发送请求并且响应看起来没问题,您可以使用FireBug进行检查。如果请求已发送,但您没有得到正确的响应,则可能更容易在HTML中创建测试表单并使用该表单发布数据。调试比使用javascript响应更容易,因为您可以在更改后继续刷新并在浏览器中检查响应。
答案 1 :(得分:0)
假设您的savechanges()函数返回一个值,此代码快照在我的系统中正常工作。
$(document).ready(function(){
$('#saveRouteTrace').click(function(){
// Build latStr and lonStr
if(saveChanges()) {
$.post('stackoverflowajax.php', {
id: 9,
name:'Tsegay'
},
function(data) {
alert(data);
if(data.success) {
alert(data.reason);
}
else {
alert("Error: " + data.reason);
}
}, 'json');
}
});
function saveChanges(){
//This is a debuging code ... Make sure it return a value
return true;
}
});
这是服务器端的文件。我正在回应json文件。
if(isset($_POST['id'])){
//This do not work
return '{ "success": true, "reason": "because it worked" }';
//this works fine
echo '{ "success": true, "reason": "because it worked" }';
}