Ajax请求地址是同域名下的地址,返回的Response就会被转义,而在不同域名下就不会被转义。
Ajax
请求地址是同域名下的地址,返回的 Response
就会被转义,而在不同域名下就不会被转义。
环境背景及自己尝试过哪些方法
环境:
- phpStudy2018 - 默认配置
AJAX:
- jQuery - $.ajax()
尝试1:单独拿出来放到同一域名下的另一个目录下还是一样的被转义。
尝试2:使用直接访问 html
文件的方式不会被转义。
尝试3:解析另一个域名到目录下(原域名下的 test.po/html/
目录),再访问 Response
不会被转义
尝试4:API接口把 return
改成 echo
输出数据不会被转义
DEMO片段
AJAX_Javascript:
$.ajax({
url: url,
type: 'get',
dataType: 'json',
success: function(data) {
console.log(data)
...
}
})
API_PHP:
public function index(){
....
return json_encode(array(
"result"=>array(
"code"=>"200",
"msg"=>"success",
"response"=>""
)),JSON_UNESCAPED_SLASHES);
}
把 return
改成 echo
就没问题
public function index(){
....
echo json_encode(array(
"result"=>array(
"Code"=>"200",
"Msg"=>"success",
"Response"=>""
)),JSON_UNESCAPED_SLASHES);
die();
}
为何在同一域名下会使用 return
被转义?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论