vig*_*oha 3 ajax jquery json jsonp
我想从domain2(example2.com)访问domain1(example.com)中的JSON文件.例如,
$.ajax({
type:'get',
url: 'http://example.com/vigneshmoha.json',
success: function(data) {
console.log(data);
},
statusCode: {
404: function() {
console.log('Status code: 404');
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想从其他域(即)example2.com向example.com发出此ajax请求.
我试过JSONP.我无法理解它是如何工作的.有人可以解释一下它的工作方式吗?
您的服务必须返回jsonp,这基本上是javascript代码.您需要从ajax请求向服务提供回调函数,返回的是函数调用.
下面是一个工作示例.
ajax请求:
$.ajax({
crossDomain: true,
type:"GET",
contentType: "application/json; charset=utf-8",
async:false,
url: "http://<your service url here>/HelloWorld?callback=?",
data: {projectID:1},
dataType: "jsonp",
jsonpCallback: 'fnsuccesscallback'
});
Run Code Online (Sandbox Code Playgroud)
服务器端代码返回jsonp(c#):
public void HelloWorld(int projectID,string callback)
{
String s = "Hello World !!";
StringBuilder sb = new StringBuilder();
JavaScriptSerializer js = new JavaScriptSerializer();
sb.Append(callback + "(");
sb.Append(js.Serialize(s));
sb.Append(");");
Context.Response.Clear();
Context.Response.ContentType = "application/json";
Context.Response.Write(sb.ToString());
Context.Response.End();
}
Run Code Online (Sandbox Code Playgroud)
请参阅什么是JSONP?.
| 归档时间: |
|
| 查看次数: |
36832 次 |
| 最近记录: |