1

外部ソースがサーバーに GET リクエストを送信できるようにしようとしています。現在、godaddy を介してホスティングしている個人サーバーでテストしています。それは問題になるでしょうか?

リクエストしようとしているページに次のコードがあります

//page.php
<?php
header("Content-Type: application/json")
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');  

include_once 'php_dom/simple_html_dom.php';
include_once 'phpQuery.php';


if(isset($_GET['item'])){
    echo json_encode(array("data" => $_GET['item']));
}
else{
    echo json_encode(array("Error"=>"No item provided"));
}

このようなリクエストを(明らかに私のURLで)試みましたが、何も返されません。

$.getJSON("http://www.example.com/page.php?item=123&format=json&callback=?", function(data) {
    alert(data);
});

Chrome 開発者は成功したリクエストを表示しますが、何も返されません。私は何か間違ったことをしていますか?

4

1 に答える 1

2

使用するとcallback=?、レスポンスは JSONP として扱われます。次のようなことを試してください:

if(isset($_GET['item']) && isset($_GET['callback'])){
    echo $_GET['callback'].'('.json_encode(array("data" => $_GET['item'])).');';
}

...または callback-parameter を省略します。

于 2013-04-18T00:41:26.720 に答える