![](/img/trans.png)
[英]How do I get FormData values in Server-side after XMLHttpRequest in client-side?
[英]How do I convert my server-side ASP XmlHttpRequest code to client-side JavaScript?
我使用下面的ASP代码的XML请求
<%
pXML=Server.URLencode(SearchRequest)
set xmlhttp = server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhtt.open "post", http://OutSideDomain/xml_requests , false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send "xml_request=" &pXML
htresult = xmlhttp.responsexml.xml
%>
我尝试用javascript(Ajax)编写以上代码
<script type="text/javascript">
function loadXMLDoc()
{
var xmlHttp;
try
{
xmlHttp=new XMLHttpRequest(); }
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
alert(xmlHttp.responseText);
}
}
var params ='xml_request=' +'<%=pXML>';
xmlHttp.open("POST","http://OutSideDomain/xml_requests",true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
</script>
上面的asp代码可以正常工作并获取xml响应,
但是在javascript中,我得到的错误是xmlHttp.send(params);
之类的“访问被拒绝” xmlHttp.send(params);
“访问被拒绝”有什么问题?,
我在这里说从一个HTTP到另一个HTTP是不可能的...但是那东西在我的ASP页面中起作用。
我该如何解决?
希望你的回应
问题在于上下文的不同。 您的JavaScript代码正在客户端运行,因此必须遵循Same Origin Policy 。 您的ASP代码正在服务器端运行,因此不是。
您现在基本上不能从客户端执行此操作,尽管正在进行的举措将使有限的跨站点通信成为可能。 目前,最好还是继续在服务器端执行此操作(尽管这会导致带宽消耗)。
或者,如果您尝试访问的源提供了JSONP接口,则可以使用该接口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.