繁体   English   中英

<script> tags not executing in ajax response

[英]<script> tags not executing in ajax response

我遇到了许多人面临的相同问题,即脚本标签未在jquery ajax响应中执行,并且我已经尝试了使用'eval()'方法的解决方案,但类似的方法都没有用,是否还有其他方法可以完成这个。 我正在从home.php向文件cart.php发送ajax请求

HOME.php

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

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

我实际上是在将cart.php文件中的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返回的数据在data变量内部:

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

现在我只想要此数组的元素,但它正在'success'函数内的调用文件处返回整行..我该如何在调用文件中提取值?

您要使用JSON。 您可以使用json_encode而不是返回脚本。

 echo json_encode($final);

然后要将JSON转换回数组,您可以在JS中执行以下操作:

 var result=JSON.parse(data);

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

暂无
暂无

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

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