我的代码:
$.get('ajax/time_menus.php', { shift: $('#shifts').val() },
function(data)
{
//load the array into a test element so we can see what is returned
$("#test").html( data );
//set the hour menu
var startHour = data[0];
alert( startHour );
$('#from_hours').val( data[0] );
});
返回如下数组:["08","00","AM","11","00","AM"]
但由于某种原因,alert( startHour );
行会发出警告:[
我做错了什么?
我收到Firebug的错误。
site.com/schedule/ajax/time_menus.php?shift=23 获取http://www.sharingizcaring.com/schedule/ajax/time_menus.php?shift=23
200 OK 296ms jquery-1.3.2.js(3633行) 未捕获的异常:[Exception ...“无法转换JavaScript参数arg 0”nsresult:“0x80570009(NS_ERROR_XPC_BAD_CONVERT_JS)”location:“JS frame :: http://www.sharingizcaring.com/schedule/js/jquery-1.3.2.js :: anonymous :: line 957”data:no] < / p>
答案 0 :(得分:1)
这是因为data
是一个字符串。您需要将其作为数组接收才能获得所需内容。使用$.get
的第四个参数来指定类型,在您的情况下为JSON:
$.get('ajax/time_menus.php', { shift: $('#shifts').val() }, function(data) {
...
}, "json"); // <--here
// or shorter
$.getJSON('ajax/time_menus.php', { shift: $('#shifts').val() }, function(data) {
...
});
答案 1 :(得分:0)
尝试通过将$ .get上的类型设置为“json”来尝试使用json(默认情况下它会返回HTML / XML响应)