我正在寻找一种更好的解决方案,以使用jQuery进行AJAX调用,使PHP文件返回一个数组,并将其作为Javascript数组从客户端发布。这是我一直在做的事情:
PHP文件(Example.php):
<?php
$id_numbers = array('NES-ZL','NES-AL','SNS-ZL');
for ($i=0; $i<count($the_array); $i++){
echo $id_numbers[$i];
echo '|';
}
?>
JS档案:
id_numbers = new Array();
$.ajax({
url:"Example.php",
type:"POST",
success:function(msg){
id_numbers = msg.split('|');
}
});
我目前的方法对我的口味来说有点太复杂了。
我想做的就是能够
return $id_numbers;
在PHP方面,并在AJAX调用后将其直接转换为Javascript数组。
想法,有人吗?
使用JSON在客户端和服务器之间传输数据类型(数组和对象)。
在PHP中:
json_encode
json_decode
在JavaScript中:
JSON.stringify
JSON.parse
PHP:
echo json_encode($id_numbers);
JavaScript:
id_numbers = JSON.parse(msg);
如Wolfgang所述,您可以为jQuery提供第四个参数,以自动为您解码JSON。
id_numbers = new Array();
$.ajax({
url:"Example.php",
type:"POST",
success:function(msg){
id_numbers = msg;
},
dataType:"json"
});
问题内容: 我试图在我自己的函数中使用jQuery ajax调用的返回值,但它始终返回未定义的值。 ajax调用绝对有效,因为当我取消注释警报时,我得到了正确的返回,并且可以在firebug中看到它。我在做蠢事吗? 问题答案: AJAX调用是异步的-这意味着AJAX请求是按常规程序执行顺序发出的,并且在您的程序中这意味着不会将数据返回警报。 您不能以这种方式使用调用的返回值,而是将利用AJAX返回
问题内容: 我正在使用ajax发布一些数据。我想处理该数据并返回到调用jQuery脚本。 这是我的jQuery: 这是我在服务器上的somescript.php: 我在服务器端是否正确执行此操作?ajax调用完成后如何访问返回字符串? 问题答案: 我想到了。需要在PHP中使用echo而不是return。 和jQ:
问题内容: 我想使用函数在ajax调用中获取值。但是该值始终返回未定义状态。返回值仅为1或0。 这是我的代码: 大家好,仍在努力完成这项工作。我现在得到的值显示为1或0。我现在想要完成的是如何在if语句中实现它。我想吃点这样的东西。如果val=0,则返回true;否则,返回true。否则返回假。我不确定我是否在使用ajax函数的正确轨道上。但是,如果有更好的方法可以告诉我,我将不胜感激。 问题答案
问题内容: 谁能告诉我如何将值作为函数的返回值返回。 当您点击注册表格中的提交时,上述功能就会触发(很明显)。问题是,无论响应是什么,此表单都将提交,并且警告框有时不显示任何内容(空白),有时根本不显示。但是,如果我将结尾更改为手动[即用] 替换,则正确的值将显示在警报框中。 PS我比JavaScript的菜鸟还差,因此也欢迎提出一般性改进代码的建议。 问题答案: 问题是,直到……等待……状态改变
问题内容: 我正在使用jQuery的网页上工作。我有一个Ajax调用,它从服务器获取数据并更新div。在该数据内部有一个jQuery函数,但是在将数据加载到页面中之后未调用该函数。我已经在页面中包含了正确的js文件。 这是从Ajax调用返回并放入div的内容: 将html插入页面后,如何使返回的javascript运行? (我将Rails与jRails插件结合使用) 问题答案: 如果要对具有htm
问题内容: 我如何使这个小功能“ imageExists”返回ajax请求是否成功? 问题答案: 我相信您将必须使用同步模式并使用单独的变量来存储返回值。