使用Ajax将变量从PHP传递回Javascript

时间:2012-10-15 09:29:13

标签: php javascript jquery ajax variables

我希望这能成为sesne,请光临我。所以我有一个包含变量的PHP页面,我有一些径向框,点击它们,它会计算你点击的项目的价格。我这样做是通过激活我传递了一些变量的js函数来实现的。像这样。

PHP:

$result = mssql_query("SELECT * FROM Segments ORDER BY 'Squares'");
    if (!$result) {
        echo 'query failed';
        exit;               
    }

    while ($row = mssql_fetch_array($result)) { ?>

    <span><?php echo $row["Squares"]; ?></span>
    <input name="squares" type="radio" 
        onclick="ajaxCases('<?php echo $row["Squares"]; ?>', '<?php echo $row["StartCaseID"]; ?>', '<?php echo $row["StartMatrixPrice"]; ?>')" value="<?php echo $row["Squares"]; ?>"
        <?php if ($row["Squares"] == "1") { ?> checked="checked" <?php }else{ ?> checked="" <?php } ?>/>
<?php } ?>

正如你可以看到onclick它转到一个名为ajaxcases的函数,这个函数看起来像这样。

function ajaxCases(squares,start,price){
    $('#step1').html('<p style="margin:100px 0px 0px 100px"><img src="images/ajax-loader-bigindic.gif" width="32" height="32" alt="" /></p>');
    $('#step1').load("ajax-styles.php?squares="+squares);
    prevId1 = "";
    document.varsForm.caseid.value=start;
    $('#step1price').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-price.gif" width="24" height="24" alt="" /></span>');
    $('#step1price').load("ajax-step1-price.php?Squares="+Squares);
    return true;
}

然后进入名为ajax-step1-price.php的php页面,我尝试回忆变量Squares。但它不起作用,我认为这是一个GET然而返回undefined。

总结:我想知道如何将变量从PHP传递到JS然后再传递给PHP,或者如果有人可以告诉我哪里出错我会非常感激。

我正在使用MS SQL DB

3 个答案:

答案 0 :(得分:1)

检查您的功能签名。

你有:

function ajaxCases(squares,start,price){

应该是:

//                 |-------- capital S
function ajaxCases(Squares,start,price) {

或者更好的是,改变这个:

$('#step1price').load("ajax-step1-price.php?Squares="+Squares);

To This:

//                                                    v--- lowercase s
$('#step1price').load("ajax-step1-price.php?Squares="+squares);

JavaScript变量为case-sensitive

答案 1 :(得分:0)

Squares确实是一个GET变量,您可以像这样访问它:$_GET['Squares']

如果$_GET['Squares']返回undefined,请验证您是否正在调用正确的网址。

答案 2 :(得分:0)

尝试调试它。

首先看一下PHP生成的HTML。

如果所有值都正确,请尝试在浏览器控制台中运行为<input name="squares" onclick="..." />生成的javascript。

如果来自ajaxCases()的呼叫转到服务器,请查看URL - 是否正确形成。

如果是 - 请检查服务器脚本返回的内容以及输入值的作用。

希望有所帮助。