Javascript 标记未在ajax响应中执行
我遇到的问题与许多人面临的问题相同,即jquery ajax响应中没有执行脚本标记,我已经尝试了使用“eval”方法和类似方法的解决方案,但没有一个有效。是否还有其他方法可以实现这一点。 我正在从home.php向文件cart.php发送一个ajax请求 HOME.phpJavascript 标记未在ajax响应中执行,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我遇到的问题与许多人面临的问题相同,即jquery ajax响应中没有执行脚本标记,我已经尝试了使用“eval”方法和类似方法的解决方案,但没有一个有效。是否还有其他方法可以实现这一点。 我正在从home.php向文件cart.php发送一个ajax请求 HOME.php $.ajax({ type:"POST", url:"cart.php?action=inc&id="+id+"&value="+myvalue+"&linecost="+linecos
$.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内部数据变量:
<script>var j = new Array("4", "2928", "6708");</script>
现在我只需要这个数组的元素,但它在“success”函数中返回调用文件的整行。如何提取调用文件中的值?有帮助吗?您想使用JSON吗。您可以使用 然后,要将JSON转换回数组,您可以在JS中执行以下操作:
var result=JSON.parse(data);
结果现在是一个普通的JS数组,包含与$final中相同的数据。请澄清您在前面的尝试中提到的不工作,返回的数据是什么,由什么返回?调用文件部分,什么是调用文件?另外,jQuery和ajax与这个问题有什么关系?还有,为什么php与这个问题不相关?@Winchestro请参考编辑后的问题。确保正确包含jQuery?确保用$document.readyfunction{/*…*/}包装jQuery;或者jQueryfunction${/*…*/};?JavaScript控制台怎么说?为什么不以JSON的形式返回数据?@Adrian在执行alertdata时,它会提醒var j=new Array4,2928,6708;i、 还有标签,我也在问自己同样的问题。你的回答很好。我不知道json_编码方法,因为我不知道php。
var result=JSON.parse(data);