我遇到了问题 - 我需要通过ajax请求传递jQuery变量。
我在文件ajax.php中得到了两个jquery变量和许多无用的输出,不知怎的,我只需要获取这些变量的值。
类似的东西:
$.get('ajax.php', function (data) {
alert('data.var1'); alert(data.var2)
});
答案 0 :(得分:0)
看起来您需要将数据附加到页面 - 例如,您可以将其附加到隐藏的div,然后它将成为页面数据的一部分,您将拥有脚本访问权限。 像这样:
$.get('ajax.php', function (data) {
$('#yourDivId').html(data);
alert(var2); //no need for data.var2
});
答案 1 :(得分:0)
如果您的 ajax.php 文件返回实际的SCRIPT标记和JavaScript输出,您可以通过全局变量访问它们,因为这是它们被分配的位置:
$.get('ajax.php', function (data) {
alert(var1); alert(var2);
// or: alert(window.var1); alert(window.var2);
});
答案 2 :(得分:0)
如果要在文档中添加脚本标记,最好使用纯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);
}
?>
答案 3 :(得分:0)
如果你带有ajax响应的脚本标记,请尝试这样的事情,否则你必须创建脚本标记,然后再添加你的响应。
$.get('ajax.php', function (data) {
$('yourdiv').html(data);
alert(var1);
});