在jQuery中封装有$.ajax方法可以直接来调用
·testjson.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
</style>
</head>
<body>
<script src="jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
$.ajax({
type: "get",
url: "http://localhost:8080/smarty/test1.php",
dataType: "json",
success: function(data) {
console.log(data);
},
error:function(e){
console.log(e);
}
});
});
</script>
</body>
</html>
其中type为提交方式,这里采用get提交
url,表示的是你获取数据和发送数据的地址,这里用的是我自己写的一个servlet,你也可以换成jsp ,或者txt等格式,
dataType表示的数据格式,这里是计较的json格式 ,还有其他五种格式
- "xml":返回 XML 文档,可用 jQuery 处理。
- "html"::返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
- "script"::返回纯文本JavaScript 代码。不会自动缓存结果,除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
- "jsonp": JSONP 格式。使用JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数,经常被用来同主域名下不同二级域名下的跨域请求。
- "text": 返回纯文本字符串。
data表示数据的具体内容
success,表示服务端成功响应
error表示服务端响应不成功
test.php代码
<?php
header("Content-Type:text/html;charset=utf-8");
header("Access-Control-Allow-Origin: *");
$data = 'var jsons = {"title":"这也是一条测试信息","author":"mjhh","date":"2018-11-14","content":"这也是一条测试信息!!!!!!!!!!!!!!!!!!这也是一条测试信息!!!!!!!!!!!!!!!!!!"}';
echo $data;
?>
在跨域访问文件时,少了header("Access-Control-Allow-Origin: *");会直接报错“被CORS策略阻止”
Access to XMLHttpRequest at 'http://localhost:8080/smarty/test1.php' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.