我们在使用ajax通信的时候,往往有时候可能会用向另外一个项目或者向其他服务器请求数据。这是我们就使用到了ajax跨域请求:
客户端代码:
$.getJSON("https:///baiduyunService/servlet?jsoncallback=?", {
"q": q,
"start": start
},
function(result) {
if (result.length == 0) {
alert("对不起,您的关键字暂无搜索结果");
} else {
$("#content").children().remove();
var before = "<div><strong>搜索结果:<strong></div><hr>";
$("#content").append(before);
$.each(result,
function(index, value) {
//var results = "<div class='article'><a href='javascript:dispatch(\"" +value.unescapedUrl+ "\")'>"
var results = "<div class='article'><a href='" + value.unescapedUrl + "' target='_blank' rel='noreferrer external nofollow' >" + value.title + "</a><p>" + value.content + "</p><span style='color:green'>" + value.unescapedUrl.substring(0, 70) + "</span></div>";
$("#content").append(results);
});
}
},
"json");
}
注意点:
1.再URL后面一定要加上:jsoncallback=?
服务端:
resp.setContentType("text/html;charset=utf-8");
System.out.println(newResult.toString());
PrintWriter writer = resp.getWriter();
writer.write(jsoncallback + "(" + newResult.toString() + ")");
writer.close();
注意:
1.服务端写回来的时候一定按照给定的格式
jsoncallback + “(” + 你的数据 + “)”
这里使用了jquery,要使用jquery的库。另外,还有好几种方式都可以调用,我这里只是使用了一种方式,如果您们有更好的方式,可以私聊我,公共学习,谢谢!