aaaaa({"xxx":"xxx"})
aaaaa是回调函数名(只是举例)。不是这样的话那就没办法了,因为跨域限制是浏览器提供的安全机制(以防止网站资源被别的非同域网站任意盗取),与网站本身无关,就好比浏览器限制d出窗口,那么网站的d出窗口的js代码就无效了。
jsonp是利用了<script src="..."></script>不受跨域限制的特性,把用户的ajax请求组合成script的src网址,从而突破跨域限制,但是这样一来,对方服务器的返回值就必须是合法的js语句才行(因为是要执行的),然后再通过本地预设的aaaaa这个函数把数据解析出来。
JSONP的方式返回,或者采用response输出即可。
JSONP返回的方式,看看这里:http://www.sojson.com/blog/121.html
response输出,看看下面的代码。
private void out(HttpServletResponse hresponse,Map<String,String> resultMap) throws IOException{//response编码,防止乱码
hresponse.setCharacterEncoding("UTF-8")
PrintWriter out = hresponse.getWriter()
//输出
out.println(JSONObject.fromObject(resultMap).toString())
out.flush()
out.close()
}
你好,前两天在学习nodejs的时候刚好使用过,jquery封装的ajax为我们提供了一个函数
jQuery.getJSON函数
通过函数jQuery.getJSON来实现跨域请求,如下是个人前两天的案例:
目标是:页面点击删除,将id发送至nodejs服务器,通过nodejs端来删除对应的数据:
页面ajax请求
nodeJS服务器
如果满意,望采纳,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)