炽热的阴天
作者:互联网
如何将json格式字符串转化为json对象?
1.第一种方式,使用eval函数.
var f="{\"name\":\"list\",\"age\":20}"; window.eval("var stu ="+f) console.log(stu.name+","+stu.age) window.eval("var i =1") alert(i);
2.第二种方式,调用JavaScript语言中的内置对象jason的一个方法parse.
var jsonnobj = JSON.parse(fromJavaServerJsonStr) alert(jsonnobj.usercode +","+jsonnobj.age)
(注:json格式可用json校验工具进行校验)
xml体积大,解析麻烦,较少用
json体积小,解析简单,较常用。
Ajax乱码问题
对于tomcat9来讲:
(1)响应中文的时候出现乱码问题:
respose.setContentType("text/html;charset=UTF-8");
(2)发送ajax post请求的时候,发送给服务器的数据,服务器接收之后乱码,怎么解决:
request.setCharacterEncoding("UTF-8");
ajax跨域问题
1.同源底下不可跨域
区分同源与不同源三要素:协议,域名,端口。三者必须一致才是同源。
2.解决跨域方案
(1).设置响应头
respose.setHeader("Access-Control-Allow-Origin","http://localhost:8080")//允许某个访问 respose.setHeader("Access-Control-Allow-Origin","*")//允许全部访问
(2).jsonp
jsonp:jsonp with padding(袋填充的json)
jsonp不是一个真正的ajax请求,只不过可以完成ajax局部解析效果,可以说是类ajax的请求
json不是ajax请求,但可以完成局部跨域的效果,并且可以解决跨域问题
(注jsonp解决跨域问题的时候,只支持GET请求,不支持post请求。)
(3)JQuery封装的jsonp
$.ajax({ type:"GET" url:"跨域的url", dataType :"jsonp",//指定该数据类型 jsonp:"fun", //指定参数名,默认是:"callback" } jsonpCallback:"sayHello"//指定 调函数的名字 //不设置的时候,JQuery会自动生成一个随机的普通函数 // 并且这个函数还会自动调succes的回调函数。}
(4).代理机制
使用httpclient组件发送http请求。
(5).代理机制
Nginx反向代理。
标签:跨域,阴天,json,var,ajax,jsonp,炽热,请求 来源: https://www.cnblogs.com/cs11/p/16400834.html