IE9“没有传输”错误,Firefox / Chrome工作,并且请求不是跨站点

时间:2011-12-03 17:44:45

标签: jquery ajax internet-explorer

我正在制作一个标准的JQuery .ajax调用,已经跳过了箍以使其在其他浏览器中运行但现在我只是停留在IE9上(而且更低,我确定)。页面canada.example.com/registration包含一个注册表单,使用JQuery的.ajax提交:

jQuery.ajax({
    url: 'http://canada.example.com/registration.php',
    type: 'POST'
});

请注意,POST请求发送到http://canada.example.com/registration.php,因此我不会发出跨网站请求。

现在可以在Firefox和Chrome中使用,但IE9会返回“无传输”错误,就像它没有尝试发出请求一样。有想法该怎么解决这个吗?我已经花了一些时间尝试使这不是一个跨源请求,但IE 9似乎仍然认为它是。

1 个答案:

答案 0 :(得分:7)

修正了它。我传递了完全限定的URL,即canada.example.com/registration.php,而不仅仅是registration.php,并且跨域标志设置为yes。我删除了完全质量的名称,因此它只是发送到“registration.php”并将跨域标志设置为NO并且它可以正常工作。

jQuery.ajax({
    url: '/registration.php',
    type: 'POST',
    crossDomain: false
});