我在 php
中创建 javascript变量 echo "var".$locallist."=".create_js_variable($locallist,$db2_list_all,'db2');
它在html页面源代码中看起来像
var locallist={
'CARINYA':[['2011-08-24-09-22 - w','20110824092216w'],['2011-08-18-13-15','20110818131546']],
'COVERNAN':[['2011-03-02-12-28','20110302122831']],
'DAVID':[['2010-12-22-19-43','20101222194348'],['2010-12-08-14-10','20101208141035']]};
现在我想通过 ajax
更新按钮上的变量 jQuery.ajax({
type: 'get',
dataType: 'text',
url: url,
data: {
what: 'db2list',
t: Math.random()
},
success: function(data, textStatus){
locallist = data;
console.log(locallist);
}
});
并且 ajax调用此php代码(请注意,它与调用的php函数相同)
if($what == 'db2list') {
$db2_list_all = get_db2_database_list();
echo create_js_variable($locallist,$db2_list_all,'db2');
}
Console.log报告
我该如何解决?那么我的其他javascript代码又有效了吗?
答案 0 :(得分:1)
您的AJAX请求的类型为dataType: 'text',
将其更改为JSON:)
答案 1 :(得分:1)
好吧,看看你的ajax电话:
jQuery.ajax({
type: 'get',
dataType: 'text',
url: url,
data: {
what: 'db2list',
t: Math.random()
},
success: function(data, textStatus){
locallist = data;
console.log(locallist);
}
});
请注意,您已将dataType作为文本?它将把数据带入并将其视为文本。尝试将dataType更改为“json”。这将把引入的数据转换为常规的'ol对象,就像你已经拥有的那样。
答案 2 :(得分:1)
使用dataType: 'json'
。
jQuery.ajax({
type: 'get',
dataType: 'json',
url: url,
data: {
what: 'db2list',
t: Math.random()
},
success: function(data, textStatus){
locallist = data;
console.log(locallist);
}
});