关注我的代码:
$('#btnOK').click(function(e){
e.preventDefault();
$form = $('#testForm');
dataString = $form.serialize();
$.ajax({
type: "POST",
url: 'https://abc.com/login',
data: dataString,
dataType: 'xml',
success: function( returnData ) {
alert(returnData);
}
});
});
我的代码无法向http://abc.com/login页面发出ajax请求,但未给出结果。这里有什么错误?
是否可能因跨域而造成:
我的域名:http://xyz.com
登录域:http://abc.com/login
答案 0 :(得分:1)
我的域名:http://xyz.com 登录域:http://abc.com/login
这是您可以通过
解决的跨域问题您网站上的代理
来自abc.com网站的JsonP支持
如果您只是想发布并且不关心结果是什么,您可以创建表单和iframe,然后将表单的目标设置为iframe,然后发布(不会使用启用csrf的网站)
答案 1 :(得分:1)
除非您的abc.com
域配置为处理跨域策略,否则您将无法进行跨域ajax调用
解决方案是将您的ajax调用重定向到xyz.com
域下的服务器端代理,该代理发送您的数据并从abc.com
获取响应(例如,使用CURL
)。
或者,如果您控制abc.com
域名,则可以发送正确的标题(Access-Control-*)以允许跨域调用
答案 2 :(得分:0)
只需调试它使用chrome或ie debugger,在click()函数的入口处创建一个断点,然后一步一步,你就会发现问题。