其他分享
首页 > 其他分享> > 炽热的阴天

炽热的阴天

作者:互联网

如何将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