jQuery跨域表单提交错误



我有一个全局ajax错误处理程序来设置

$.ajaxSetup({
    error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('There has been an error processing your request.');
        }
    }
});

我正试图向外部支付网关提交隐藏的表格

$.ajax({
    type: 'POST',
    url: '@Url.Action("Pay", new { invoiceId = Model.Id })',
    success: function (html) {
        $('#paymentFormContainer').html(html);
        $('#paymentFormContainer').find('form').submit();
    }
});

表单似乎提交了OK,我在Fiddler中看到了发布的数据,但触发了全局ajax错误回调。

检查错误并不能提供任何线索。

XMLHttpRequest: Object
error: undefined
errorThrown: ""
textStatus: "error"

我想知道这是否是一个跨域发布问题?

我正在使用Chrome浏览器,还没有尝试过其他浏览器。

是的,不能使用XMLHttpRequest对象向不是原始页面主机的其他域发出请求。

作为一种巧妙的解决方法,您可以在服务器上让AJAX调用一个脚本,将请求代理到您想要的位置。另一种选择是操作iframe和客户端JS回调以获得所需的结果。

相关内容

  • 没有找到相关文章

最新更新