私はこれがうまくいかない理由で、私の頭脳を掘り下げ、ほぼ一日中Googleを検索しています。私自身のサイトを改善するための実験として、ここではチュートリアルhttp://tutorialzine.com/2009/09/simple-ajax-website-jquery/が最も重要なajax/jqueryセクションをチェックしていました。PHPがAJAX投稿を読むようにしようとしています
基本的に、このチュートリアルのPOSTはページ番号で動作しますが、代わりにページ名を使用するように変換しようとしています。ですから、hrefから#!home(後ほどgoogle互換性を実装するためのhashbangs)が必要になり、phpはそれを "home.html"として解析し、それをコンテンツdivにロードできます。私以外の理由から、それはうまくいきません。
var datastring=url.replace('#!',''); //strip the #page part of the hash and leave only the page number
$('#loading').css('visibility','visible'); //show the rotating gif animation
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "load_file.php",
data: datastring, //with the page number as a parameter
dataType: "html", //expect html to be returned
async: false,
success: function(msg){
if(parseInt(msg)!=0) //if no errors
{
$('#content').html(msg); //load the returned html into pageContet
$('#loading').css('visibility','hidden'); //and hide the rotating gif
}
}
});
全体のphpファイル:
ジャバスクリプトローダー(私は修正のみ末端部分)から:私は私の賛成で変更しようとしているコードの関連セクションを投稿します
<?php
$url = $_POST['datastring'];
if(file_exists(''.$url.'.html'))
echo file_get_contents(''.$url.'.html');
else echo 'There is no such page!';
?>
私は自分自身で学びたいと思っていましたが、これを理解することができましたが、正直なところ私はそれを理解できません。/私が知る限り、ドメイン間の問題はありません。誰かが私が行方不明を知っている? 私は解決策を見つけたらそこに行ってコメントに投稿して、他の人が私の苦痛を避けるようにしていますが、チュートリアルのサイトより旅行になる可能性が高いので、ここで質問します。 XD
? –
あなた自身で学ぶのを助ける精神で、ヒント:あなたが思っていることを送信する要求ですか、あなたがあなたがPHPにあると思うものにアクセスしていますか? .ajaxドキュメントをチェックし、firebug/etcを使用してください。リクエストを確認し、PHPのリクエストパラメータ/値をデバッグしてください:) –
彼らはちょうどあなたに伝えるだろうと推測します:) –