2012-02-27 7 views
0

PHPファイルの "curl_exec()"メソッドの結果をHTMLファイルにロードします。jQuery "load()" PHPをロードできません "curl_exec()"結果

PHPファイルはlocalhostにあり、HTMLファイルはどこにでも置くことができます。

例:PHPファイル名は「curl.php」です。

結果を読み込むためにjQuery "load()"を使用しましたが、ファイルをWebサーバーにアップロードしても機能しません。

HTMLファイルのコード:

http://jsfiddle.net/aTkEZ/

"curl.php" コード:

http://jsfiddle.net/Quk8N/

私のコードが間違っていますか?まず、あなたはおそらく、このような何かそのcURLの呼び出しのためのいくつかのパラメータを設定する必要があります

+0

いくつかの基本的なデバッグを試しましたか?ブラウザが 'load()'要求に対して何を表示していますか?どんな反応ですか? 'curl_exec()'は何を返しますか? – ManseUK

+0

ブラウザでHTMLファイルを開くと、何も表示されません。ブラウザで「http://localhost/curl.php」を直接開くと、私がリクエストしたWebページが表示されます。 – Bayu

+0

HTMLファイルもサーバー上でホストされていますか? – spencercw

答えて

2

:でもヘッダとユーザエージェントを追加

​​

は、あなたからソースを取得しようとしているサイトに応じて考慮されるべきです。

ブラウザでファイルを開いて、cURLをテストし、ページが戻ってくるかどうかを確認して、Ajaxでフェッチできるかどうかを確認してください。

は$アヤックス

$.ajax({ 
    url: "/curl.php", 
    type: "POST", 
    dataType: "html", 
    success: function(data) { 
     $(document).html(data); 
    } 
}); 

とそのロード機能を交換してみてください、それが動作するかどうかを確認しますか?

+0

私は試してみましたが、ローカルでもオンラインでも動作しませんでした。 – Bayu

1

javascriptによるAJAXリクエストは、ほとんどの場合、同じ発信元ポリシーにバインドされています。つまり、フェッチされているページが現在実行中のページと同じサーバー上にあるとブラウザが認識しない限り、エラーが返されます。

$('#content').load(url, function (data, error) { 
    // check the error parameter to see if there was an 
    // error and react accordingly 
}); 

ありlocalhostを持つ同一生成元ポリシーを持ついくつかの問題であるか、または少なくとも、私は同じ起源でいくつかの問題があった:エラーが返された場合、あなたはこのようなコールバックを追加する必要があります表示するには

localhostでポリシーどこかの実際のホストにファイルをアップロードしてみてください。

+0

ローカルでテストされた場合、メッセージとして「エラー」が返されます。それから私はそれをオンラインのWebサーバーに再アップロードしました。メッセージは以下の通りです:スクリプトとして解釈されたリソース、MIMEタイプtext/htmlで転送されたリソース: "http://analytics.hosting24.com/count.php" error404.000webhost.com:2Uncaught SyntaxError:予期しないトークン< curl.html:12Uncaught ReferenceError:$が定義されていません。どういう意味ですか? – Bayu

+0

これは、フェッチしようとしているファイルにエラーがあることを意味します。あなたが実際に使用しているコードを見ることなく、私は推測することができます(12行目にエラーがあり、PHPが生成する行番号はオフになっていますが、前に見たことはありません)。 – Drakekin

関連する問題