这是我的第一次JQuery体验,而且我的截止日期非常紧迫。这是一个令人尴尬的问题,但这里有。我正在调用一个返回字符串列表的Web服务(工作并返回OK)。代码如下
$(document).ready(
function()
{
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CatList.asmx/GetCatergoies",
data: "{}",
dataType: "json",
success: onActionCompleted
});
}
)
function onActionCompleted(data) {
var resultData = data['d'];
alert(resultData);
}
警报会从Web服务生成逗号单独的结果字符串。我无法弄清楚我的生活如何迭代结果。当我做这样的事情时:
resultData.each(
alert(this)
)
我在Firebug中获得的是这个错误:
resultData.each is not a function
任何指针?
答案 0 :(得分:7)
使用 Array.split() 会产生一个数组:
var string = "red,blue,green,orange"
$.each(string.split(','), function(){
alert(this)
})
答案 1 :(得分:5)
考虑string.split()
而不是jQuery:
var items = results.split(',');
for( var i = 0; i < items.length; i++ ) {
alert( items[i] );
}
答案 2 :(得分:4)
听起来你的webservice给了你一个csv-string。将它拆分为一个数组,在它周围包装jQuery并为每个元素添加一个回调函数,如下所示:
$(resultData.split(",")).each(function () {
alert(this);
});
答案 3 :(得分:2)
谢谢!没有反馈,我就无法解决问题。我还不完全确定resultData的格式是什么。我对代码进行了一些复制和粘贴,因此不确定哪些数据['d']将列表转换为json术语。
当我在resultdata上尝试拆分时,我在Firebug中遇到了这个错误:
resultData.split不是函数
最后我在resultdata上使用$ .each()而不进行拆分,并且它有效。
function onActionCompleted(data) {
var resultData = data['d'];
$.each(resultData, function() {
alert(this)
})
}