|
搞了好久。。终于在技术三群几个大神帮助下梳理出了如何在X5下调用返回Jsonp的Webservices
1、X5中引用ajax。。。之前度娘教了好多,,但是还是ajax走出来了。
把代码写在 data1CustomRefresh中
Model.prototype.data1CustomRefresh = function(event){
var jsonStr="";
var data = this.comp('data1');
$.ajax({
type: "get",
url: '你的Webservices调用地址',
dataType: "jsonp",
jsonp: "CallBack",
success: function(rjson){
//alert(rjson[0].ITEMID);
if (rjson.length !== 0)
{
for (var i = 0; i < rjson.length; i++)
{
if (i+1<rjson.length)
{
jsonStr = jsonStr + '{"INVENTBATCHID":{"value":"'+ rjson.INVENTBATCHID +'"},"ITEMID":{"value":"' + rjson.ITEMID +'"}},';
}
else
{
jsonStr = jsonStr + '{"INVENTBATCHID":{"value":"'+ rjson.INVENTBATCHID +'"},"ITEMID":{"value":"' + rjson.ITEMID +'"}}';
}
}
}
jsonStr = '{"@type":"table","rows":[' + jsonStr +']}';
//alert(jsonStr);
var jsonObject=JSON.parse(jsonStr);
data.loadData(jsonObject);
},
error:function (){
}
});
};
调用返回的jsonp
返回的数据样式,, 因为不是Data可以直接接受的json格式,所以代码中有循环把数据写成可接受的json格式。
显示在模拟器的效果
显示在模拟器下的数据。
抛砖引玉。。。希望大家继续讨论。
|
|