将关联数组从php传递给javascript

Abh*_*310 2 javascript php arrays json associative

可能重复:
如何使用$ .ajax()将字符串数组从PHP传递到Javascript?

我想将一个关联数组从PHP代码传递给javascript代码.请帮我.我该怎么做呢 ?JSON对此事有帮助吗?如果是,那么请提供一个简单的帮助代码.谢谢.

来自以下评论:
HTML + PHP代码

<td> 
    <input type="text" style="width:70;" name="<?php echo $quantity;?>" id="<?php echo $quantity;?>" onkeyup="check_valid_range('<?php echo $itemName;?>','<?php echo $quantity;?>',<?php echo json_encode($product_inventory);?>);">
</td> 
<script type="text/javascript"> 
    function check_valid_range(product_field, quantity_field, inventory){ 
        var product = document.getElementById(product_field).value; 
        var quantity = document.getElementById(quantity_field).value; 
        var v = inventory[product]; 
        alert(v); 
    } 
</script>
Run Code Online (Sandbox Code Playgroud)

afu*_*ama 9

JSON很完美:

<?php

$mySweetJSONString = json_encode($myAssocPHPArray);

?>
<script>
    var iWantThePHPArrayHere = <?php echo $mySweetJSONString; ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

用户pst提出了这些担忧:

  • "array("</script>") -- darn, just broke this "perfect" approach."
    它似乎有效,因为(</script>=> <\/script>):
    jsFiddle

  • "What about ]]> which could occur in XHTML?"
    字符串可以传输.
    的jsfiddle


更新:

关于使用JS调试问题:
控制台中是否有任何错误?你的一个document.getElementById(...)可能会返回null.因此该成员value不存在.