【发布时间】:2016-05-04 11:30:05
【问题描述】:
我有一个使用 XMLHttpRequest 对象的 Javascript 函数,但我不断返回的状态是 0。我已经做了很多搜索,我想出的只是 0 是一个未定义的错误,可能是由由于无数的原因。因此,我希望你们能发现我的代码中的错误。
function initiateIPP(ID, Token)
{
var POSTRequest = new XMLHttpRequest();
POSTRequest.onreadystatechange = function ()
{
if (POSTRequest.readyState == 4)
{
if (POSTRequest.status == 200)
{
}
else
{
alert("An error has occured, response code = " + POSTRequest.status);
}
}
}
var parameters = "SessionId=" + ID + "&SST=" + Token;
POSTRequest.open("POST", "https://demo.ippayments.com.au/access/index.aspx", true)
POSTRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
POSTRequest.send(parameters)
window.open("IPPPage.html");
}
提前致谢。
编辑:我在代码中添加了一个 withCredentials 行,但这似乎没有什么不同。 var 参数 = "SessionId=" + ID + "&SST=" + Token; POSTRequest.withCredentials = true; POSTRequest.open("POST", "https://demo.ippayments.com.au/access/index.aspx", true) POSTRequest.setRequestHeader("内容类型", "application/x-www-form-urlencoded") POSTRequest.send(参数) window.open("IPPPage.html");
【问题讨论】:
-
我确实遇到了不同来源的问题......这可能是问题,我不确定,但如果是,我不确定是否真的可行.也许我必须问 IPP 他们希望我如何向他们发送数据...
-
如果您遇到跨源资源问题,您可能应该使用某些服务器运行,可能是 apache,或者另一种方法是将
--disable-web-security标志设置到您的 chrome 浏览器... -
@Rakesh_Kumar
--disable-web-security只会为他解决问题。 -
没错,@gabeio 是正确的;这需要在不强迫人们摆弄浏览器中的设置的情况下工作。
标签: javascript ajax xmlhttprequest