通过ajax传递jquery变量

时间:2013-09-30 11:28:50

标签: jquery ajax

我遇到了问题 - 我需要通过ajax请求传递jQuery变量。

我在文件ajax.php中得到了两个jquery变量和许多无用的输出,不知怎的,我只需要获取这些变量的值。

类似的东西:

$.get('ajax.php', function (data) {
alert('data.var1'); alert(data.var2)
});

4 个答案:

答案 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); 
    });