js——ajax 传递 json 数据

修改 wamp64 上传问题
在这里插入图片描述
json数据

{
"name":"sdfad",
"age":"2354"
}

PHP后台

<?php
$file = file_get_contents("12-ajax-json.txt");
header('Content-Type: application/json; charset=utf8');
//传值给前端
echo json_encode($file);
?>

前台数据接收

<script>
        window.onload = function () {
            var btn = document.getElementById('btn');
            btn.onclick = function () {
                Ajax({
                    url: '12-ajax-json.php',
                    type: 'Post',
                    data:{},
                    timeout: 3000,
                    success: function (j) {
                        var json=j.responseText;
                        console.log(json);
                        //parse在IE8及以下不支持 需引入json2.js框架兼容
                        var obj=JSON.parse(json);
                        console.log(obj.name);
                        console.log(obj.age);
                    },
                    error: function (j) {
                        console.log(j.status);
                    }
                })
            }
        }
    </script>

<body>
<button id="btn">click</button>
</body>

json 数据和 js 对象互换:
在这里插入图片描述

// 转 json (字符串)
var json=JSON.stringify(obj);
// 转 obj (数组)
var obj=JSON.parse(json);//仅可转换标准json数据
var obj=eval("("+json+")");//万能转换

ps:若想知道Ajax封装函数 请看:Ajax封装

标准jq的ajax方法

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

//加载新闻
function loadNews() {
    $.ajax({
        url: '',
        type: 'post',
        data: {},
        success: function (data) {
            console.log(data);
            
            var json = eval("(" + data + ")");
            console.log(json);
            
            if (num <= Object.keys(json).length) {
                bodyFather.innerHTML += news(json[num - 1]);
                num++;
            } else {
                num = Object.keys(json).length + 1;
            }
        },
        error: function (json) {
            console.log(json.status);
        }
    });
}

dataType
类型:String

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

  • “xml”: 返回 XML 文档,可用 jQuery 处理。
  • “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
  • “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
  • “json”: 返回 JSON 数据 。
  • “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
  • “text”: 返回纯文本字符串
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值