Javascript AJAX$.AJAX不工作
这是我的Javascript AJAX$.AJAX不工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我的$.ajax函数OriginalDist是前面函数中的一个数组,它调用myAjax(OriginalDis)但是,程序总是调用错误和完成函数,错误消息为未定义。我该怎么办?谢谢 admin view available volunteeers.php是该文件的文件名 autojectdist是一个包含浮点数的数组 function myAjax(volunteerDist){ $.ajax({ type:'POST', ur
$.ajax
函数OriginalDist
是前面函数中的一个数组,它调用myAjax(OriginalDis)代码>但是,程序总是调用错误
和完成
函数,错误消息为未定义
。我该怎么办?谢谢
admin view available volunteeers.php
是该文件的文件名
autojectdist
是一个包含浮点数的数组
function myAjax(volunteerDist){
$.ajax({
type:'POST',
url: 'admin-view-available-volunteeers.php',
data : ({
distance:volunteerDist
}),
success: function(){
alert('worked');
},
error :function(err){
alert('nope :( ERROR: ' + err.ErrorMessage);
},
complete : function(){
alert('thanks');
}
});
}
我经常听到这个。在您的管理员视图available志愿者.php
中,您需要确保输出的标题正确
要做到这一点,您需要在输出任何内容之前将其放入php中:
header("HTTP/1.01 200 OK");
header("Content-type: text/html");
否则,它将作为404返回jQuery的ajax,然后进入错误和完成位。我经常会看到这种情况。在您的管理员视图available志愿者.php
中,您需要确保输出的标题正确
要做到这一点,您需要在输出任何内容之前将其放入php中:
header("HTTP/1.01 200 OK");
header("Content-type: text/html");
否则,它将作为404返回jQuery的ajax,然后进入错误和完成位。如果调用了错误处理程序:
处理程序,则远程脚本返回错误
修复脚本,而不是JS代码 如果调用了错误:
处理程序,则远程脚本返回错误
修复脚本,而不是JS代码 为了更好地调试错误,您需要更新代码,如下所示
error :function(err){
alert('nope :( ERROR: ' + err.ErrorMessage);
},
将不起作用-因为err
是jqXHR
对象
将其更改为:
error: function(jqXHR, textStatus, errorThrown) {
alert("Error : " + errorThrown);
}
这将输出服务器发送的消息
.ajax()
参数的所有详细信息如下
使现代化
检查PHP文件的名称
admin-view-available-volunteeers.php
在单词志愿者中有3个e
s。。。这就是问题所在吗?为了更好地调试错误,您需要更新代码
error :function(err){
alert('nope :( ERROR: ' + err.ErrorMessage);
},
将不起作用-因为err
是jqXHR
对象
将其更改为:
error: function(jqXHR, textStatus, errorThrown) {
alert("Error : " + errorThrown);
}
这将输出服务器发送的消息
.ajax()
参数的所有详细信息如下
使现代化
检查PHP文件的名称
admin-view-available-volunteeers.php
在单词志愿者中有3个e
s。。。这就是问题所在吗?您可能希望先尝试加载另一个测试文件,这很简单,您可以单独测试js,并确保在浏览器中直接点击php脚本时不会显示错误
另外,将来要确保所有这些ajax调用都与php脚本在同一个域上(就像现在一样),否则如果不添加“Access Control Allow Origin”和“*”头,ajax将无法跨域工作。您可能希望先尝试加载不同的测试文件,简单的方法是,您可以单独测试js,并确保当您直接在浏览器中点击php脚本时,不会显示任何错误
另外,将来要确保所有这些ajax调用都与php脚本在同一个域上(就像现在一样),否则如果不添加“访问控制允许源代码”和“*”标题,ajax将无法跨域工作。您在firebug
中看到的错误是什么。顺便说一下,这不是属性ErrorMessage
。。。因此,您会得到undefined
服务器的响应是什么?我的系统会根据错误提示“nope:(错误:undefined)”function@gdoron好的,那么关于如何解决这个问题,有什么好的建议呢?这是函数错误调用的定义:error(jqXHR,textStatus,errorhorn)
。。。。“ErrorSprown接收HTTP状态的文本部分,例如“未找到”或“内部服务器错误”。“您在firebug
中看到的错误是什么。顺便说一句,这不是属性ErrorMessage
…因此您会得到undefined
您从服务器得到的响应是什么?我的系统会发出警报”否:(错误:undefined,这是基于错误的function@gdoron好的,那么关于如何解决这个问题,有什么好的建议呢?这是函数错误调用的定义:error(jqXHR,textStatus,errorhorn)
…“errorhorn”接收HTTP状态的文本部分,例如“未找到”或“内部服务器错误”url不应该是同一个文件的url吗?@Brandonyong它可以是同一个文件,这不是问题-但错误是“找不到”意味着它找不到它-获取类似Firebug的内容以确保调用了正确的文件。@Brandonyong您的文件名有拼写错误:管理视图可用volunteers.php
在志愿者中有3个e
s…这就是问题所在吗?是的..错误..现在它在另一个文件名中尝试了它并发出了警报已经..这是获取数据的正确方法吗?如果(isset($\u get['distance']){$distance=$\u get['distance'];$VolunteId=$\u get['id'];}@Brandonyong,那么它现在可以工作了吗?即调用脚本了吗?url应该不是同一个文件的url吗?@Brandonyong它可以是同一个文件,这不是问题-但是错误“not Found”意味着它找不到它-获取类似Firebug的内容以确保调用了正确的文件。@Brandonyong您的文件名有拼写错误:管理视图可用volunteers.php
在志愿者中有3个e
s…这就是问题所在吗?是的..错误..现在它在另一个文件名中尝试了它并发出了警报已经..这是获取数据的正确方法吗?如果(isset($\u get['distance']){$distance=$\u get['distance'];$WoulderId=$\u get['id'];}@Brandonyong现在开始工作了?即调用脚本?在本例中,您是对的,但并不总是如此。例如,当您编写数据类型时:'json'
,服务器不会返回json
。无论如何,在这里+1…在本例中,您是对的,但并不总是如此。例如,当您编写数据类型时:'json'
和服务器