这次利用wex5做了一个简单的webapp项目,遇到最大的问题就是 如何把ajax跨域访问的webservice返回的json数据加载到data组件中,
一下是ajax跨域请求webservice代码:
$.ajax({
"type" : "post",
"async" : false,
// "data": {"ID":ID,"Name":Name,"age":Age},//{"ID":ID,"Name":Name,"age":Age}
"url" :‘webservice地址’,
"cache" : false,
"dataType" : "jsonp",
"jsonp": "callbackjsp",//服务端用于接收callback调用的function名的参数
//"jsonpCallback":"successCallback",//callback的function名称
"jsonpCallback":"successCallback",
"success":function(data){
alert(data.result);
var str=data.result;
var strs= JSON.parse(str);
alert(str);
json={"@type" : "table","test" : {"idColumnName" : "ID","idColumnType" : "String", },"rows" :strs };
alert("json数据"+json);
// this.comp("test").loadData(json,false);
test.loadData(json,false);
},
"error":function(XMLHttpRequest, textStatus, errorThrown) {
alert("添加失败!");
/* alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);*/
alert(textStatus);
}});
webservice如何去写json格式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
namespace baas.net
{
/// <summary>
/// baas_net 的摘要说明
/// </summary>
[WebService(Namespace = "http://baas.net/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
public class baas_net : System.Web.Services.WebService
{
string DBConnectionString = ConfigurationManager.ConnectionStrings["MS_Meeting"].ConnectionString;
private static SqlConnection CreateConnection()
{
// 下面是目前可识别的数据库链接方式,可以通过扩展DatabaseType.cs中的DatabaseTypeHelper类以支持其他数据库
// return new OracleConnection("data source=orcl;user id=x5sys;password=x5;persist security info=false;");<