我希望从我的网页中使用 API,目前有一个在 VBA 中工作的有效 VB 示例,并希望可以在 Javascript 中创建等效方法
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "POST", "https://api.net.nz/Service.svc", False
http.setProxy 2, "http://proxynz", ""
http.Option(4) = intSslErrorIgnoreFlags
http.Option(6) = False
http.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
http.setRequestHeader "SOAPAction", "urn:WebServices/ISaleService/CreateSale"
http.send (strXML)
Post = http.responsetext
我一直在使用的代码在这里,我认为问题在于 VB 代码中的 http.setProxy 行。
$.ajax({
type: "POST",
url: "https://api.net.nz/Service.svc",
dataType: 'xml',
contentType: "text/xml; charset=\"utf-8\"",
beforeSend: function (xhr) {
xhr.setRequestHeader('SOAPAction', 'urn:WebServices/ISaleService/CreateSale');
},
data: strXML,
async: false,
success: function (data) {alert(data);},
error: function (xhr, status, error) {$('#results').html(error);alert(error)}
});
使用上面的代码,我收到一条错误消息说
错误:NETWORK_ERR:XMLHttpRequest 异常 101
更新 仍在寻找解决方案。我希望有人知道如何为 $.ajax 请求引用代理。