为什么我的移动网站无法发送AJAX请求?

时间:2012-04-18 18:18:52

标签: jquery ajax jquery-mobile

我的移动应用中可用的第一个操作是登录。表单调用javascript:

$.post('http://www.website.com/m/users/login', ...

我使用了一个全能的ajax错误:

$(document).ajaxError(ajaxError);
function ajaxError() {
    hideLoader();
    enableForm( $('form:visible') );
    alert('Uh oh! An error occurred. Please make sure you have an internet connection and try again.');
}

当我尝试登录时,就会发出警报。

即使它不是跨域(移动网站位于mobile.website.com),我也尝试过:

$.support.cors = true;
$.mobile.allowCrossDomainPages = true;

但它仍然无效。在这一点上,我没有想法,所以我想我是否会知道是否有人知道JQM ajax请求的任何其他可能的障碍。

谢谢:)

3 个答案:

答案 0 :(得分:1)

您正在执行跨域请求,www.website.commobile.website.com不是同一个域。您需要在mobile.website.com域上公开方法,使www.website.com支持CORS,或者在两者之间提供某种代理。

答案 1 :(得分:1)

尝试使用名为JSONP的审查技术,这样就可以执行跨站点调用

答案 2 :(得分:0)

使用YQL还可以让您进行跨域AJAX调用

使用YQL Console构建您的网址查询并直接在您的代码中使用YQL查询,您将可靠地获得响应