1

私はXMLにかなり慣れていません...

次のXMLを「 https://www.exampleserver.com 」に送信するにはどうすればよいですか?

<?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>
4

1 に答える 1

6

残念ながら、クライアント側のスクリプトでは、Webサーバーが存在するドメインと同じドメインにのみXMLを送信できます。これはセキュリティ機能です。ただし、それを自分のサーバーに送信して、サーバーに送信させることはできます。

自分のサーバーに送信するには、次のようにします。

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));
于 2013-03-22T18:13:31.273 に答える