背景:因项目需求,需要请求客户另外一个系统的数据,已经发布在外网,使用.net webform开发
做法:1、新建一个aspx页面,返回json数据 2、jsonp请求、并处理返回数据
1、aspx页面代码如下:
protected void Page_Load(object sender, EventArgs e)
{
string txtNumber = Request.QueryString["number"];
string callback = Request.QueryString["callback"];
if (!string.IsNullOrEmpty(txtNumber) && !string.IsNullOrEmpty(callback))
{
string data = "{\"title\": \"Recent Uploads tagged cat\",\"number\": \"" + txtNumber + "\",\"link\": \"http://www.sina.com.cn\",\"items\": [{\"title\": \"Russell 003\",\"color\": \"red\"},{\"title\": \"Cat [07.04.11]\",\"color\": \"yellow\"}]}";
string result = string.Format("{0}({1})", callback, data);
Response.Expires = -1;
Response.Clear();
Response.ContentEncoding = Encoding.UTF8;
Response.ContentType = "application/json";
Response.Write(result);
Response.Flush();
Response.End();
}
}
2、jsonp请求代码如下:
function search(){
var inputNumber = document.getElementById("inputNumber").value;
if(inputNumber != ""){
var url = "http://域名或IP/xj_result.aspx?callback=GetDataCallBack&number="+inputNumber;
$.getScript(url);
}
}
function GetDataCallBack(data){
if(data){
$("#title").text(data.title);
$("#link").text(data.link);
}
}