• 【JavaScript】关于eval("("+result+")")的认识


    起因是做现项目时,参用很久之前一个项目的代码,少了一行eval("("+result+")");控制台始终运行不出结果

    大致意思是:eval方法是将json字符串转换成json对象

           但更具体的情况(前后端传输json数据,后端echo json_encode()方法把Array形式的查询结果自动转换成json格式输出)时,

    这时,如果不加eval函数js是获取不到里面的属性的,根本原因在于——由于json是以“{}”的方式来开始以及结束的,在js中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

           所以把后台传输过来json字符串转换成js的json对象,js就能获取其中的属性了

           

           弄懂了这个,引发了更深层的思考,同样都是后端json_encode输出到前端js,为什么很多js没加eval函数都可以自动转换,后来看到是因为ajax已经加过dataType:'json'了。(制定url的返回值以json格式)

           猛然看到自己之前忘记写ajax第四个参数,如果加上,就不需要再写eval函数了

     


     
    原文:https://blog.csdn.net/vapaad1/article/details/78900675
     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    团队冲刺第四天
    团队冲刺第三天
    团队冲刺第二天
    团队冲刺第一天
    典型用户及用户场景描述
    《构建之法》阅读笔记01
    第九周学习进度条
    第八周学习进度条
    软件工程概论课堂作业3
    课堂练习-找水王续
  • 原文地址:https://www.cnblogs.com/zhaoyl9/p/11283110.html
Copyright © 2020-2023  润新知