将未定义的php变量分配给jquery变量会导致脚本停止

时间:2017-05-20 17:59:41

标签: javascript php jquery

我有以下文档就绪功能

        $(document).ready(function(){

                        var id = <?php echo "" ?>;
                        alert('boo');
                        if(id!=0){
            $('#quoteoutput').load('getorder.php?order=' + id, function () {})
                        }});

脚本停止执行,因为我通过PHP将空变量传递给var id并且未返回boo警告消息

如果我回显一个值而不是它。 有人能告诉我为什么这是因为我有一个php变量<?php echo "$id" ?>;有时是空的,这会导致运行这种脚本时出现问题。如果您也可以为此提供最佳解决方案。目前我在php中声明了一个非空的var 0

    if(isset($_GET['id'])){
$id=$_GET['id'];
}
else{
$id="0";
}

但是如果有更好的解决方法或解决方案,请告诉我。

由于

Rehan Miah

2 个答案:

答案 0 :(得分:0)

在打开代码之前,您需要在此引用:

var id = "<?php echo "" ?>";

因为PHP执行它时会返回

var id = ;

当你不使用引号时

修改

顺便说一下,你也可以用Javascript读取GET参数。 看看这里

function GetURLParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}​

通过调用

var id = GetUrlParameter("id");

您已将get参数存储在var

答案 1 :(得分:0)

最佳方法将使用json_encode方法

var id = <?php echo json_encode($id); ?>;