时间:2014-06-07 07:57:06

标签: javascript php jquery ajax

我遇到的问题与许多人所面临的问题一样,脚本标签没有在jquery ajax响应中执行,我已经尝试过使用' eval()'方法和类似但没有工作。有任何其他方法来实现这一点。 我正在从home.php发送一个ajax请求到文件cart.php

HOME.php

$.ajax({
    type:"POST",
    url:"cart.php?action=inc&id="+id+"&value="+myvalue+"&linecost="+linecost,
    cache:false,

    success: function(data)
    {
        alert(data);

我实际上是将php数组转换为cart.php文件中的javascript数组,如下所示:

CART.php:

 processing code here...

<?php    
$res=array($val,$cost,$total);
    foreach ($res as $a) {
    $string .= "\"" . $a . "\", ";
    $final = substr($string, 0 ,(strlen($string) - 2));
    }
?>
<script>var j = new Array(<?php echo $final; ?>);</script>

在home.php中返回数据变量中的数据:

<script>var j = new Array("4", "2928", "6708");</script>

现在我只想要这个数组的元素,但它将整个行返回到成功&#39;内的调用文件中。 function..how我在调用文件中提取值吗?有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您想使用JSON。您可以使用json_encode

,而不是返回脚本
 echo json_encode($final);

然后将JSON转换回您可以在JS中执行的数组:

 var result=JSON.parse(data);

result现在是一个普通的JS数组,包含与$final中相同的数据。