您现在的位置是:首页 >技术杂谈 >php无法返回标准JSON格式,导致的$.ajax返回的数据无法执行success的解决方案网站首页技术杂谈

php无法返回标准JSON格式,导致的$.ajax返回的数据无法执行success的解决方案

chengg0769 2023-05-27 00:00:02
简介php无法返回标准JSON格式,导致的$.ajax返回的数据无法执行success的解决方案

php

//返回信息

$arr_ret = array("code"=>"1","msg"=>"数据已经保存成功!");

echo json_encode($arr_ret);

js:

$.ajax({

        type: "POST",

        url: "./workpost.php",

        async:false,

        timeout:6000,

        contentType: "application/json;charset=utf-8",   

        data: insertstr,

       dateType: "text",      // "json"会跑到error函数去

        success:function(msg){

            var msgjson = eval("(" + msg + ")");//关键位置,我也是从网上查的。

            console.log(msgjson);

            if(msgjson.code=="1"){

                alert("提交成功:  " + msgjson.msg);        

                return 1;

            }else{

                alert("提交数据时发生了错误:  " +msgjson.msg);

            }

        },

        error:function (msg) {

            alert("提交失败");

            return -1;

        }

    }); 

**注:在2019年写的旧项目可能因为用的jquery版本低,msg是可以直接是一个json对象直接可以使用 if(msg.code=="1")的。之前php返回也不会到error函数去。归根结底是jquery版本对json的格式要求严格了。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。