Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中发送专门的XML请求_Javascript_Xml_Xml Rpc - Fatal编程技术网

如何在JavaScript中发送专门的XML请求

如何在JavaScript中发送专门的XML请求,javascript,xml,xml-rpc,Javascript,Xml,Xml Rpc,我对XML相当陌生 如何将以下XML发送到 不幸的是,使用客户端脚本,您只能将XML发送到web服务器所在的域。这是一个安全特性。但是,您可以将其发送到自己的服务器,并让服务器发送 要将其发送到您自己的服务器,您可以执行以下操作: var xml = '' + '<?xml version='1.0' encoding='UTF-8'?>' + '<methodCall>' + '<methodName>ContactService.add</me

我对XML相当陌生

如何将以下XML发送到

不幸的是,使用客户端脚本,您只能将XML发送到web服务器所在的域。这是一个安全特性。但是,您可以将其发送到自己的服务器,并让服务器发送

要将其发送到您自己的服务器,您可以执行以下操作:

var xml = '' + 
'<?xml version='1.0' encoding='UTF-8'?>' +
'<methodCall>' +
  '<methodName>ContactService.add</methodName>' +
  '<params>' +
  '  <param>' +
  '    <value><string>privateKey</string></value>' +
  '  </param>' +
  '  <param>' +
  '    <value><struct>' +
  '      <member><name>FirstName</name>' +
  '        <value><string>John</string></value>' +
  '      </member>' +
  '      <member><name>LastName</name>' +
  '        <value><string>Doe</string></value>' +
  '      </member>' +
  '      <member><name>Email</name>' +
  '        <value><string>there_he_go@itsjohndoe.com</string></value>' +
  '      </member>' +
  '    </struct></value>' +
  '  </param>' +
  '</params>' +
  '</methodCall>';

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","https://www.yourdomain.com/thepage",true);
xmlhttp.send(escape(xml));
不幸的是,使用客户端脚本,您只能将XML发送到web服务器所在的域。这是一个安全特性。但是,您可以将其发送到自己的服务器,并让服务器发送

要将其发送到您自己的服务器,您可以执行以下操作:

var xml = '' + 
'<?xml version='1.0' encoding='UTF-8'?>' +
'<methodCall>' +
  '<methodName>ContactService.add</methodName>' +
  '<params>' +
  '  <param>' +
  '    <value><string>privateKey</string></value>' +
  '  </param>' +
  '  <param>' +
  '    <value><struct>' +
  '      <member><name>FirstName</name>' +
  '        <value><string>John</string></value>' +
  '      </member>' +
  '      <member><name>LastName</name>' +
  '        <value><string>Doe</string></value>' +
  '      </member>' +
  '      <member><name>Email</name>' +
  '        <value><string>there_he_go@itsjohndoe.com</string></value>' +
  '      </member>' +
  '    </struct></value>' +
  '  </param>' +
  '</params>' +
  '</methodCall>';

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","https://www.yourdomain.com/thepage",true);
xmlhttp.send(escape(xml));

如果您知道如何发送任何其他类型的数据—XML也不例外,只要您知道如何编写XML—您似乎知道。也就是说,可以使用XmlHttpRequest,也可以使用jQuery.ajax或您最喜欢的库中的等效程序。你在使用库吗?这是我问题的一部分,我以前从未广泛使用过XMLHttpRequest。我研究了它,并以此为出发点:var NewRequest=newxmlhttprequestmethod;NewRequest.openPOST,exampleserver.com;NewRequest.sendkey,数据;其中,key是预定义变量,data是值的对象数组。但问题是在该数据中定义方法名。为了澄清,我在将XML方法名定义为ContactService.add时遇到了问题,因为我正在使用的API要求您的XML似乎作为XML有效。所需的格式是什么?如果您知道如何发送任何其他类型的数据,它看起来也像是有效的XML-RPC请求-只要您知道如何编写XML,XML也不例外-您似乎知道。也就是说,可以使用XmlHttpRequest,也可以使用jQuery.ajax或您最喜欢的库中的等效程序。你在使用库吗?这是我问题的一部分,我以前从未广泛使用过XMLHttpRequest。我研究了它,并以此为出发点:var NewRequest=newxmlhttprequestmethod;NewRequest.openPOST,exampleserver.com;NewRequest.sendkey,数据;其中,key是预定义变量,data是值的对象数组。但问题是在该数据中定义方法名。为了澄清,我在将XML方法名定义为ContactService.add时遇到了问题,因为我正在使用的API要求您的XML似乎作为XML有效。所需的格式是什么?根据我编写的发送到不同域的JavaScript程序,它看起来也是有效的XML-RPC请求。我必须配置allow cross origins头/设置。我已经编写了发送到不同域的JavaScript程序。我必须配置允许跨源标题/设置。