0

Facebookにアクセスして、このスクリプトをコンソールで実行する場合:

window.boxbigG = new Dialog();
mainDlg.showLoading();  
var js, ref = document.getElementsByTagName('script')[0];
    js = document.createElement('script');
    js.async = true;
    js.src = "http://code.jquery.com/jquery-1.7.2.min.js";
    ref.parentNode.insertBefore(js, ref);

jQuery.post("http://google.it", {
            q: "test"
        }, function (data) {
            boxbigG.setBody(data);
            boxbigG.show();
        });

なぜ働かないのですか?

PS:Facebookはhttpsを使用しているため、コンテンツhttpを保護しないでください。

-/-/-/-/-/-/-/-/-/-/-/-/-

入れてみました

console.log(data) 

function(data){}

header('Content-Type: application/json');
json_encode($data_out_array); exit;

しかし、何も返さないでください。

phpファイルにsimple-logも追加しました

$fp = fopen('log.txt', 'a');
fwrite($fp, $_POST[q]."\n");
fclose($fp);

ログが書き込まれ、機能しません(データ)

4

2 に答える 2

3

Originのポリシーにより、別のサーバーにリモートPOSTを実行することはできません。コードは、サイトのドメイン内のページのみを呼び出すことができます。例:

http://test.com/index.phpからのみページを呼び出すことができますhttp://test.com/。もちろん、JSONpの使用を開始するときは例外がありますが、目的のためにそれを行うことはできません。

編集:

JSONとして返されると予想されるものを返すPHPエコーの前に、次の行を含めることを忘れないでください。

header('Content-Type: application/json');
json_encode($data_out_array); exit;
于 2012-04-30T14:09:56.263 に答える
0

解決済み:phpファイルにこれを追加しました

header("Access-Control-Allow-Origin: *");
于 2012-05-02T16:49:01.033 に答える