Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX$.AJAX不工作_Javascript_Jquery_Ajax - Fatal编程技术网

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'
和服务器