【问题标题】:jQuery post and get not returning anything, despite the network request is being sent succesfully尽管网络请求已成功发送,但 jQuery 发布并没有返回任何内容
【发布时间】:2015-08-19 01:12:43
【问题描述】:

我有以下javascript函数:

function test() {
 jQuery.post("http://www.example.com/test.php", {})
 .done(function(data) { 
            alert(data); 
 })
 .fail( function(xhr, textStatus, errorThrown) {
            console.log(xhr);
            console.log(textStatus);
            console.log(errorThrown);
 });

}

test.php 文件是这样的:

 <? echo "TEST"; ?>

当我通过单击页面上的某些内容或通过在控制台中键入来调用此函数时,警报不会触发,而是 jQuery.post 的失败部分被触发,我得到以下值:

xhr -> 对象

textStatus -> “错误”

errorThrown -> ""

我检查了 firefox 调试器网络,我看到请求正在发送到所需的 url,并且左侧的小圆圈变为绿色,这意味着我从服务器获得了某种响应,但是传输的列是单个“-”行,接收的列是 0 字节。如果我从浏览器调用页面“http://www.example.com/test.php”,它可以正常工作。

可能是什么问题,或者我该如何继续调试此错误?

找出问题所在,如果有人遇到同样的错误,请参阅下面我自己的答案:|

【问题讨论】:

  • 您的 PHP 是否启用了短开放标签?
  • 是的,因为如果我直接在浏览器中写入 url,文件可以正常运行。
  • 你的初始页面也在http://www.example.com/下吗?
  • 是的,这是 tomclegg 的问题。

标签: javascript php jquery ajax


【解决方案1】:

找出问题所在。我从浏览器以 example.com 的身份访问我的网站,而不是以我发送 ajax 请求的 www.example.com 的身份访问我的网站。 Ajax 将请求作为跨域处理,这就是为什么我没有得到答案...愚蠢的我...

【讨论】:

    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多