0

我设置了一个全局 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,还没有尝试过其他浏览器。

4

1 回答 1

1

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

作为一种 hacky 解决方法,您可以让您的 AJAX 调用服务器上的脚本,将请求代理到您希望它去的地方。另一种选择是操纵 iframe 和客户端 JS 回调以获得所需的结果。

于 2013-08-13T13:19:49.977 回答