【问题标题】:jquery ajax can't get responsejquery ajax 无法得到响应
【发布时间】:2012-09-11 23:23:51
【问题描述】:

这段代码有问题

var MAIN_LOCATION = "http://www.bosscaffe.com/new/";
$("#gallery_page").click(function() {
    $('#gallery_photos').show();
    getPhotos();
    return false;
}); 

function getPhotos()
{
    $.ajax({
         type: "GET",
         url: MAIN_LOCATION + "classes/getEnterijerPhotos.php?lang="+LANG,
         success: function(msg){
            if (msg != 'nothing')
            {
                $('#photo_wrapper').empty();
                $('#photo_wrapper').append(msg);
            }
         }
    });
}

我尝试了一些类似跨域的方法:true、async:false 等...我尝试将其切换为 POST,但由于某种原因,如果我在新选项卡中触发调用,这个不会返回任何内容,我得到结果 @ 987654321@ 所以所有这些图像都准备好了,在我的本地实例上这可以工作,但在服务器上它根本不起作用,在 Chrome 中我得到状态 = 取消,关于这个有什么想法吗?

无论如何,最终解决方案是将其传输到 JSON,但奇怪的是这样的功能不能在同一个域上运行。

【问题讨论】:

  • 什么是MAIN_LOCATION?它是否以斜线结尾?例如http://www.somedomain.com/http://www.somedomain.com?
  • 尝试构建 complete:failure: 函数并查看它们在控制台中的报告。
  • @Chase 是的,请忽略它。
  • 你在 Firefox 上检查了吗?取消状态是 chrome 中的一个错误,请检查此 stackoverflow.com/questions/8227422/…
  • @Dameo - 奇怪的是它无法在我的本地嫉妒中重现,它在本地可以作为一种魅力,但存在服务器问题。

标签: jquery ajax asynchronous


【解决方案1】:

您正在拨打cross origin 电话吗? => 是您调用页面的来源,与MAIN_LOCATION 相同(相同的协议、相同的域、相同的端口)。

所以如果你是MAIN_LOCATION = 'http://www.bosscaffe.com/new/classes/getEnterijerPhotos.php?lang=en',那么调用页面需要以http://www.bosscaffe.com/...开头

如果它是一个跨源调用并且您想要修复它(而不是将其移动到同一源)我发布了关于该问题的答案here

【讨论】:

【解决方案2】:

您没有提供足够的信息来回答您的问题,但您需要考虑以下几点:

您的第一行中有一个错字,您在图库中有一个额外的“l”(el)。

如前所述,如果您希望回复是特定的数据类型,则需要将其列在 $.ajax() 的参数中,以便代码可以正确地准备其结果。

通常最好为所有 AJAX 请求提供错误处理程序,以便您知道请求实际上已成功。在您的代码中,您的请求可能会失败(“静默”),而不会向您提供任何事实指示。

编辑

如果您从运行 PHP 服务器进程的同一主机发出请求,我怀疑您需要在 URL 中使用服务器的完全限定主机名而不是“localhost”。

【讨论】:

  • for 1.忽略这一点,在这种情况下,第二个是的 dataType 应该是 html,第三个我同意。
  • 是的,但错字不是这里的主要问题,奇怪的是,如果我打开该 URL,我会看到响应并且我看到它通过我的 localhost 工作,但在服务器上它不起作用......跨度>
  • 在服务器上?您的意思是当您在运行 PHP 服务器进程的同一台计算机上使用浏览器打开 URL 时?
  • 不,我在我的远程/公共网络服务器上,在本地 Apache 上它工作正常。
  • 浏览器控制台是否列出任何错误消息?添加错误处理程序时,它会报告任何错误吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2014-06-06
  • 1970-01-01
相关资源
最近更新 更多