クラス「mno」のdiv要素をabc.phpからxyz.phpにフェッチしようとしています。
http://pastebin.com/MhAqhZpdには、私が使用しているコードがあります(コード全体ではなく、ajax部分のみ)
URLはスクリプトを指していますが、2番目のアラートボックスには何も表示されず、「NULL」も表示されません。また、console.logは何も表示しません。私はajaxを初めて使用するので、事前にささいな感謝をまとめることができない可能性があります
クラス「mno」のdiv要素をabc.phpからxyz.phpにフェッチしようとしています。
http://pastebin.com/MhAqhZpdには、私が使用しているコードがあります(コード全体ではなく、ajax部分のみ)
URLはスクリプトを指していますが、2番目のアラートボックスには何も表示されず、「NULL」も表示されません。また、console.logは何も表示しません。私はajaxを初めて使用するので、事前にささいな感謝をまとめることができない可能性があります
アクセスするファイルが同じサーバーにある場合は、http: //api.jquery.com/load/を使用します。
$("div").load("abc.php div.mno");
jQueryのloadメソッドを使用できます。$ .get()とは異なり、.load()メソッドを使用すると、挿入するリモートドキュメントの一部を指定できます。これは、urlパラメーターの特別な構文で実現されます。文字列に1つ以上のスペース文字が含まれている場合、最初のスペースに続く文字列の部分は、ロードするコンテンツを決定するjQueryセレクターであると見なされます。
$('div').load('abc.php div.mno');
多分あなたはこのように行くことができます:(私はあなたの質問が言っていることに固執しています!)
$.get('abc.php',function(data){
var mnoDivHTML = $(data).find('div.mno').html(); //the html content of .mno div in abc.php
$('div.yourclass').html(mnoDivHTML); //fill the desired div in the current page
});
$.load()
非常に柔軟性がないことを気にしない場合は素晴らしいですが、もう少し強力なものが必要な場合は、実際に$.get
またはを使用できます$.post
。
例:
var data = {'someParam':'someValue'};
$.post('abc.php', data, function(response){
var myDiv = $('.mno', response); //get class .mno from response text
alert(myDiv.html());
});
たとえば、検索結果の次のページを取得するために使用している場合、これは非常に便利な場合があるため、次のページにパラメーターを渡す必要があります。
別の方法:)load.htmlを、ロードするドキュメントとdivに置き換えるだけです:mypage.php .somediv
<script type="text/javascript">
$(document).ready(function(){
//var ajax = function(url){
//var url = 'load.html';
//$('.content').load(url);
//}
// Than you call it like THIS: ajax();
//$('.button').click(function(){
//$('.content').load('load.html')
//});
//response contains the text content that was returned from the ajax request
$(".content").load('load.html', function(response, error, xhr) {
if (error == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
}
});
});
});
</script>