错误原因:
前面你能成功取值是因为a是一个javascript对象而不是纯粹的字符串,所以可以用obj.attr的方式读取数值,
后面你用ajax获取的相似格式字符串的实际为JSON格式的字符串,所以用对象方法读值失败。
解决思路:
将JSON文本转换为JavaScript 对象后再用obj.attr的方式读值。
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
具体方法:
假设用ajax获取的json文本存于变量jsonText中
var a = eval("(" + jsonText + ")")相关资料:
http://www.w3school.com.cn/json/json_eval.asp1、按照描述,题主是想将多条数据记录提交到服务端,同时服务端将数据插入到数据库。那么思路是将多条数据存在数组中,调用post方法的接口传入后端。
2、方法如下:
var sendData = []
sendData.push({name:'david',age:'20'})
sendData.push({name:'peter',age:'23'})
3、传递数据给服务端,一般使用post方法调用接口,使用jquery,代码如下:
$.post("接口路径",sendData,function(result){
console.log(result,'发送结果')
})
扩展资料:
1、json与字符串互相转换:
JSON.parse('{"name":"karla"}')//将字符串转换为json
JSON.stringify({name:'karla'})//将json转化为字符串
2、jquery中post与get的区别:
1) $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来 进行异步请求的。
2)get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体 内容发送给Web服务器的,这种传递是对用户不可见的。
3) get方式传输的数据大小不能超过2KB 而POST要大的多。
4)GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
参考资料:百度百科-json