Javascript 循环json数组时出现问题
我从json格式的ajax调用中检索select的一些选项。 我设置的代码用于在选择中显示新选项(替换现有选项),如下所示:Javascript 循环json数组时出现问题,javascript,jquery,sql,json,Javascript,Jquery,Sql,Json,我从json格式的ajax调用中检索select的一些选项。 我设置的代码用于在选择中显示新选项(替换现有选项),如下所示: success: function (data){ var $select = $('#dettaglio'); $select.html(''); $.each(data, function(key, val){ $select.append('<option id="' + val.id + '">' + val.t
success: function (data){
var $select = $('#dettaglio');
$select.html('');
$.each(data, function(key, val){
$select.append('<option id="' + val.id + '">' + val.text +'</option>');
})
}
运行此代码会导致不易理解的错误:
TypeError:无效的“in”操作数e
…==n | |“函数”==n&&(0==t | |“number”==t&&t>0&&t-1的类型
e) }r=b(o);变量{}
jQuery抛出了一个错误,但这对查看我的代码哪里出错没有帮助。有什么提示吗?是的,我从mysql获得一个数组,并用
json\u encode
对其进行编码。从服务器接收的数据将始终为string
类型。您需要解析它以转换为JSON格式。你能试试这个吗
success: function(data) {
data = JSON.parse(data);
或者,如果您正在使用一些旧IE,您也可以尝试:
success: function(data) {
data = $.parseJSON(data);
是的,我从mysql获得一个数组,并用
json\u encode
对其进行编码。从服务器接收的数据将始终为string
类型。您需要解析它以转换为JSON格式。你能试试这个吗
success: function(data) {
data = JSON.parse(data);
或者,如果您正在使用一些旧IE,您也可以尝试:
success: function(data) {
data = $.parseJSON(data);
最简单的方法是通过添加以下内容对PHP进行一些更改:
header('Content-type: application/json');
就这样。jQuery自动设置为检测返回数据的编码。如果以后决定发送其他内容,只需更改标题即可
警告:此功能必须是在任何输出之前首先执行的功能之一。否则,它将向您抛出错误。最简单的方法是通过添加以下内容对PHP进行一些更改:
header('Content-type: application/json');
就这样。jQuery自动设置为检测返回数据的编码。如果以后决定发送其他内容,只需更改标题即可
警告:此功能必须是在任何输出之前首先执行的功能之一。否则,它会向您抛出错误。数据是JSON格式的吗?是的,我从mysql获得一个数组,并用JSON编码_encode@Tushar我想说是的。我在jQuery代码中看不到任何问题
dataType:'json',
是json格式的data
吗?是的,我从mysql获得一个数组,并用json编码_encode@Tushar我想说是的。我在jQuery代码中看不到任何问题dataType:'json',
实际上我通过在ajax请求中指定数据类型解决了这个问题。我认为jQuery可以检测到它,但它没有t@LelioFaieta是的,有很多方法。很高兴有些东西对您有用。实际上,我通过在ajax请求中指定数据类型解决了这个问题。我认为jQuery可以检测到它,但它没有t@LelioFaieta是的,有很多方法。很高兴有东西对你有用。