ajax处理web服务端的json数据,显示在devextreme框架的手机前端页面
开发工具:Visual Studio2017
数据库:mongodb
开发框架:Devextreme
运用技术:ajax,jquery,web服务
例子:通过在input框里输入对应id号,显示相关user信息(姓名,爱好,年龄)
home.dxview(dev框架的前端代码) :
<div data-options="dxView : { name: 'home', title: 'Home' } " >
<div class="home-view dx-content-background" data-options="dxContent : { targetPlaceholder: 'content' } " >
<div id="container" style="margin:30px auto">
<div id="inputId"></div> //输入框
<div id="subBtn"></div> //提交按钮
<br />
<br />
<br />
姓名:<div id="name"></div> //信息显示区
爱好:<div id="hobby"></div>
年龄:<div id="age"></div>
</div>
</div>
</div>
【这个框架的方便之处就是解决了平台兼容性问题,只需要用html+css+jquery就可以打造可运行在ios、Android和windows的系统软件,所以前端代码的主内容就是html(框架问题,我在home.js文件里定义各个div的控件类型及属性)】
home.js (jquery)
"use strict";
placeholder: "please input one user ID:"
})
placeholder: "name"
})
placeholder: "hobby"
})
placeholder: "age"
})
$("#subBtn").dxButton({
text: "提交",
onClick: function () {
var url = "http://localhost:62615/WebService1.asmx/GetUsers" //此url的获取,在点开webServer服务器的页面时候会出现,webServer服务器端代码编写在下面
var val = $("#inputId").dxTextBox("instance").option("value")
alert("没找到")
}
({
type: "post",
url: url,
data: { "uid": val }, //uid被输入框内容指定
dataType: "json",
success: function (data) {
if (data == null) {
alert("not found")
} else {
var dataObj = data
$.each(dataObj, function (index, item) { //遍历后台传入的data(json格式)
$("#name").dxTextBox("instance").option("value", item.name)
$("#hobby").dxTextBox("instance").option("value", item.hobby)
$("#age").dxTextBox("instance").option("value", item.age)
},
error: function (XMLHttpRequest, status, error) {
alert("访问不到服务器!", "error", 3000);
}
});
}
})
}
get()
}
};
using System.Web.Script.Serialization;
using MongoDB.Driver.Builders;
//连接数据库
private const string connectionString = "mongodb://localhost:27017/";
private const string dbName = "mydb";
private static MongoClient client = new MongoClient(connectionString);
private static MongoServer server = client.GetServer();
private static MongoDatabase db = server.GetDatabase(dbName);
MongoCollection<BsonDocument> collection = db.GetCollection("read_test");
[WebMethod]
public void GetUsers(string uid)
{
var linquery = from e in collection.AsQueryable<Users>()
where e.uid == uid
select e;
string json = ToJSON(returnValue);
Context.Response.Write(json);
{
public ObjectId _id { get; set; }
public string uid { get; set; }
public string name { get; set; }
public string hobby { get; set; }
public int age { get; set; }
}
public string ToJSON(object obj)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);//json 序列化对象数组
}
【写此文章为我这一个多月来研究的知识打一个断点。对于刚毕业的我,我的技术知识是稀少的散状的,只能开发一个简单的系统,而且也并不会开发手机app。此番学习是我一个初级的技术总结,并且也开发了我对新知识的学习方法。只要是学习,能增强自身价值的,花多少时间都是有意义的。这过程中可以钻钻牛角,但钻不出来还是要多与人交流,勤学好问】