繁体   English   中英

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

[英]Passing variables from PHP to Javascript back to PHP using Ajax

我有一个包含变量的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但是返回未定义。

简介:我想知道如何将变量从PHP传递给JS,然后再传递给PHP,或者如果有人可以告诉我我要去哪里,那将不胜感激。

我正在使用MS SQL DB。

检查您的功能签名。

你有:

function ajaxCases(squares,start,price){

应该:

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

或者更好的是,更改此:

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

为此:

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

JavaScript变量区分大小写

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

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

尝试调试它。

首先查看由PHP生成的结果HTML。

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

如果来自ajaxCases()的调用转到服务器,请检查URL-URL的格式是否正确。

如果是,请检查服务器脚本返回什么以及对输入值执行的操作。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM