用jsonp跨域
客户端JQuery.ajax的调用代码示例:
$.ajax({
type : "get",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
jsonpCallback:"success_jsonpCallback",//callback的function名称
success : function(json){
alert(json);
alert(json[0].name);
},
error:function(){
alert('fail');
}
});
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
String callbackFunName = context.Request["callbackparam"];
context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
}
用 JS创建动态脚本跨域
模拟服务器上的跨域资源(貌似一定要是js数据吧)
var ojb = {msg:'js跨域请求成功'};
$(function() {
$.getScript('http://www.bb.com/test.js', function() {
if (ojb) {
alert(obj.msg);
}
});
});
面试题中要跨域访问百度,看来是不能直接用jquery ajax直接解决。换个方法,可以用java先获取百度请求,然后解析即可。
来源:oschina
链接:https://my.oschina.net/u/658579/blog/296981