mat*_*att 0 javascript string json
我的一个ajax提交的表单有一个奇怪的问题...我在表单中有一个文件上传,不知何故来自服务器的有效JSON对象现在是一个String ...
if (typeof jsonObject == 'string')
console.log('yes, it's a string'); //yes, it's a string
console.log(jsonObject); // { "status":"success", "data":"Updated profile successfully"}
Run Code Online (Sandbox Code Playgroud)
因此,如果没有文件上传,则enctype:multipart表单中console.log(jsonObject)会返回>Object"success"和"data"属性.以某种方式在表单中的文件上传jsonObject是一个像你可以看到的字符串.
什么可能导致这种想法?或者我如何将字符串转换回有效的JSON对象?
先感谢您.
你运行它JSON.parse,同时使用json2.js为旧浏览器提供该方法.
var js_object = JSON.parse(json_string);
Run Code Online (Sandbox Code Playgroud)
(这会给你一个JavaScript对象,因为没有JSON对象这样的东西).
如果你已经在使用jQuery,那么它有自己的抽象方法 - jQuery.parseJSON你可以使用而不是json2.js.这是一个过大的库,只为该功能加载.