我设置了全局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,尚未尝试其他浏览器。
答案 0 :(得分:1)
是的,您不能使用XMLHttpRequest对象向不是原始页面主机的其他域发出请求。
作为一种hacky解决方法,您可以将AJAX调用作为服务器上的脚本,将请求代理到您希望的位置。另一个选择是操纵iframe和客户端JS回调以获得所需的结果。