同源地址:任意两个地址中的协议,域名,端口相同,称为同源地址
同源策略: 是浏览器的一种基本安全策略
不允许对非同源地址进行请求(ajax)
限制的方式:可以发送请求,服务端也会进行响应,但是响应回到客户端后被浏览器阻止了
$.ajax()常用方法
$.ajax({ url:请求地址,(必写) data:发送到服务器的数据,GET请求中将附加在URL后,为urlencoded格式 dataType:预期服务器返回的数据类型, success:请求成功后 的回调函数,参数(由服务器返回 ,并根据dataType参数进行处理后的数据) time:设置请求超时的时间(毫秒),会覆盖全局设置 type:默认GET,包括(POST和GET); })
原生ajax操作的4个步骤:
1、进行实例对象创建 var xhr = new XMLHttpRequest(); 2、调用open方法建立与服务端的连接 xhr.open('POST' ,'/13_code/ajax.php'); **由于通过POST方式发送的数据,默认无法被服务端识别,所以需要设置请求体的内容类型 需要在send前调用 setRequestHeader() 方法将 Content-Type 属性设置为 application/x-www-form-urlencoded ** xhr.open('GET' ,'/13_code/ajax.php?'); 3、调用 send 方法 传入需要的参数 GET : xhr.send(null); POST: xhr.send('id=10&age=20&name=jack'); urlencoded 格式的参数 4、 调用 onreadystatechange 方法 判断响应状态和状态码 xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); // 得到响应体,处理数据 }
转换数据格式:
js前端转换: 1.拿到后台传过来的JSON格式的数据后 var data='{"name":"goatling"}'; JSON.parse(data); // {name: "goatling"} (对象) 进行格式转换,得到一个JSON对象 再进行遍历 for in 2.如果需要发送JSON格式的数据给后台 ,那需要把数据转换为JSON格式,前提要有一个JSON格式的对象 var data1 = {"name":"goatling"}; JSON .stringify(data1); // '{"name":"goatling"}' (字符串) php后台转换 1.json_encode()对变量进行 JSON编码 将 数据(关联数组) 转换成 json 格式字符串 json_encode($arr, JSON_UNESCAPED_UNICODE) 2. json_decode 需要将 JSON 字符串 转换为关联数组结构 // print_r(json_decode($json_str, true));