問題があります - ajax リクエストで jQuery 変数を渡す必要があります。
ファイルajax.phpに2つのjquery変数と多くの役に立たない出力があり、どういうわけかそれらの変数の値のみを取得する必要があります。
何かのようなもの:
$.get('ajax.php', function (data) {
alert('data.var1'); alert(data.var2)
});
ドキュメントにスクリプト タグを追加する場合は、純粋な JavaScript を使用することをお勧めします。
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "ajax.php";
document.body.appendChild(script);
PHP ファイルからいくつかの値を取得したいだけの場合は、必要のないガベージなしでそれらの値のみを要求することをお勧めします。これはjsonとして実行できます。ただし、正しいデータ型を出力するには、php スクリプトを変更する必要があります。
$.ajax({
url: 'ajax.php?get=json',
type: 'GET',
dataType: 'JSON'
})
.done(function(data) {
console.log("success");
alert(data.var1+' '+data.var1);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
//php
<?php>
if(isset($_GET['get']) && $_GET['get']=='json'){
$ar=array();
$ar['var1']='hello';
$ar['var2']='hello';
echo json_encode($ar);
}
?>
ajax.phpファイルが実際の SCRIPT タグと JavaScript 出力を返す場合、それらが割り当てられる場所であるため、グローバル変数を介してそれらにアクセスできます。
$.get('ajax.php', function (data) {
alert(var1); alert(var2);
// or: alert(window.var1); alert(window.var2);
});
データをページに追加する必要があるようです-たとえば、非表示のdivに追加すると、ページデータの一部になり、スクリプトでアクセスできます。このような:
$.get('ajax.php', function (data) {
$('#yourDivId').html(data);
alert(var2); //no need for data.var2
});
ajax 応答を含むスクリプト タグを持ってくる場合は、このようなことを試してください。それ以外の場合は、スクリプト タグを作成し、それに応答を追加する必要があります。
$.get('ajax.php', function (data) {
$('yourdiv').html(data);
alert(var1);
});