1

ここでどこが間違っているのか、私はかなり困惑しています。XML を受け取る PHP ファイルへの AJAX 呼び出しを行い、その XML に基づいて結果を生成してエコーします。ただし、AJAX ハンドラーは呼び出されません。以下は JavaScript と PHP です。

ありがとう

JavaScript

$(function() {
    $.post("http://thedomain.co.uk/sendxml.php", { xmlData: '

      <thisiswhere>
        <myxmlis>
        </myxmlis>
      </thisiswhere>

    ' }, function(data) {alert(data)}, "xml");
});

PHP

<?php

  $xml_builder = $_POST['xmlData'];

  // We send XML via CURL using POST with a http header of text/xml.
  $ch = curl_init('http://user:pass@myserver.com/api');
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_builder);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  curl_setopt($ch, CURLOPT_REFERER, 'http://www.mydomain.co.uk');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $ch_result = curl_exec($ch);
  curl_close($ch);

  echo json_encode(htmlentities($ch_result));
?>
4

1 に答える 1

2

PHPスクリプトからJSONを返しています:

$(function() {
    var xml = '<thisiswhere><myxmlis></myxmlis></thisiswhere>';

    $.post("http://thedomain.co.uk/sendxml.php", { xmlData: xml }, function(data) {
        alert(data);
    }, "json");
});

これは、同じドメインに投稿していることを意味します。

于 2013-06-24T22:42:00.357 に答える