ajax跨域通信-博客园老牛大讲堂
一、首先ajax是什么?---博客园老牛大讲堂
ajax是一段代码,是用来解决前端(H5)与后端(Java,php)通信的。
二、不用ajax行不?
可以啊!只要你自己写的H5页面是静态的,或者不与后台进行通信,进行数据的交流,不用ajax也行。
三、ajax能实现跨域吗?
什么是跨域:例如:你写了一个好看的页面,但是页面的某些数据需要和后台进行交互,怎么做呢,用ajax啊!但是!对与Java程序就不行了,代码全对,但就是老报错。这就是跨域了。就好像你连接不上网一样。ajax对于Java程序来说能实现跨域的!
四、怎样实现ajax与Java数据交互呢?--博客园老牛大讲堂
利用jsonp!jsonp通信如下:
这是JavaScript代码:
传递callback的作用是jsonp的关键。网页首先要传递一个变量,服务端再把变量回传。
$.ajax({
type: "get",
url: "http://localhost:8080/B/B",
async:true,
timeout:2000,
dataType: "jsonp",
jsonp:"callback",
success: function(data) {
console.log(data.code);
},
error: function(json) {
alert("失败");
}
});
java后台代码:
五、ajax的json通信与jsonp通信
下面是json数据实现与php进行通信的几种方法:(对于Java远程通信无效,一般针对php后台有效。)
例子一:其中var value=eval("("+data+")");是为了把字符串转换成json数据。
1 $.ajax({ 2 url:"http://192.168.4.109:90/html/books.js", 3 type:"POST", 4 5 success:function(data){ 6 var value=eval("("+data+")"); 7 $('#list2').html(data); 8 } 9 });