Javascript 分析XML XMLHTTPRequest时出错
嗨,我只需要与外部服务器建立连接,就可以通过XMLHTTPRequest请求数据。 我已创建页面,但当我发送请求时返回此错误: 错误! 解析器:请求XML(oracle.XML.Parser.v2.XMLParseException:Start 需要根元素的个数。错误号:4001) 我不知道这是一个语法分析问题,还是一个字符或其他问题。 这是我的脚本代码:Javascript 分析XML XMLHTTPRequest时出错,javascript,xml,xmlhttprequest,Javascript,Xml,Xmlhttprequest,嗨,我只需要与外部服务器建立连接,就可以通过XMLHTTPRequest请求数据。 我已创建页面,但当我发送请求时返回此错误: 错误! 解析器:请求XML(oracle.XML.Parser.v2.XMLParseException:Start 需要根元素的个数。错误号:4001) 我不知道这是一个语法分析问题,还是一个字符或其他问题。 这是我的脚本代码: <script type="text/javascript"> var req = null ; var firsttime =
<script type="text/javascript">
var req = null ;
var firsttime = false;
function sendRequest(){
var urlStr="http://mylink.it";
var xmlString="";
xmlString="<?xml version='1.0' encoding='UTF-8'?><BOOKING type='COR' lang='it-IT' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXX' AGENTPASSWORD='YYYY' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://link/schema/CountryRequestV6Snd.xsd'><DATA ALL_COUNTRIES='YES'/></BOOKING>";
createHTTPRequestObject();
var resp = getResponseText(urlStr+"?"+xmlString,null);
}
function createHTTPRequestObject(){
req=null ;
var pXmlreq = false ;
if (window.XMLHttpRequest) {
pXmlreq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
try{
pXmlreq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e1) {
try{
pXmlreq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2) {
}
}
}
req = pXmlreq ;
}
function getResponseText(action,query,method,async,contenttype){
if(method==null){
method="POST";
}
if(async==null){
async="true";
}
if(contenttype==null){
contenttype = "application/x-www-form-urlencoded";
}
console.log("open");
req.onreadystatechange= function() {
if (req.readyState == 1) {
if (firsttime==false){
firsttime = true;
req.setRequestHeader("Content-Type", contenttype);
if(query){
console.log("send request");
req.send(query);
}else{
console.log("send request2");
req.send();
}
}
}
if (req.readyState >= 4) {
var serverResponse = req.responseText;
console.log(serverResponse);
}
}
req.open(method,action, async);
}
</script>
var-req=null;
var firsttime=假;
函数sendRequest(){
var urlStr=”http://mylink.it";
var xmlString=“”;
xmlString=“”;
createHTTPRequestObject();
var resp=getResponseText(urlStr+“?”+xmlString,null);
}
函数createHTTPRequestObject(){
req=null;
var pXmlreq=false;
if(window.XMLHttpRequest){
pXmlreq=新的XMLHttpRequest();
}
else if(window.ActiveXObject){
试一试{
pXmlreq=新的ActiveXObject(“Msxml2.XMLHTTP”);
}
渔获物(e1){
试一试{
pXmlreq=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
渔获物(e2){
}
}
}
req=pXmlreq;
}
函数getResponseText(操作、查询、方法、异步、contenttype){
if(方法==null){
方法=“POST”;
}
if(异步==null){
async=“true”;
}
if(contenttype==null){
contenttype=“application/x-www-form-urlencoded”;
}
控制台日志(“打开”);
req.onreadystatechange=函数(){
如果(req.readyState==1){
if(firsttime==false){
第一次=正确;
请求setRequestHeader(“内容类型”,contenttype);
如果(查询){
console.log(“发送请求”);
请求发送(查询);
}否则{
日志(“发送请求2”);
请求发送();
}
}
}
如果(req.readyState>=4){
var serverResponse=req.responseText;
log(serverResponse);
}
}
请求打开(方法、操作、异步);
}
我的发帖请求
职位
/trlink/link1/trlink?HTTP/1.1
服务器正在返回错误。我们看不到它正在做什么来解析您提交的数据。我知道,但这将是一种理解问题并解决问题的方法1。了解服务期望的输入。2.看看你给它的东西是否与此相符。(我们无法知道1)。我已经用post@Quentin中的代码更新了我的问题。您仍然只是向我们显示您发送的输入。我们仍然无法知道您将其发送到的服务器所期望的是什么。