Javascript 对象没有方法';加入';
我从服务器接收到以下格式的Javascript 对象没有方法';加入';,javascript,jquery,json,Javascript,Jquery,Json,我从服务器接收到以下格式的JSON对象: [ { "Id": 1, "defNo": "ME-2-17", "ReportDate": "2013-10-04T00:00:00", "Remarks": "" } ] 为了在循环中使用它,我试图通过$.parseJSON(responseText在数组中转换它,但转换后我仍然无法将其用作控制台,控制台显示: Uncaught TypeError: Object #<Object> has no method 'join' unca
JSON
对象:
[ { "Id": 1, "defNo": "ME-2-17", "ReportDate": "2013-10-04T00:00:00", "Remarks": "" } ]
为了在循环中使用它,我试图通过$.parseJSON(responseText
在数组中转换它,但转换后我仍然无法将其用作控制台,控制台显示:
Uncaught TypeError: Object #<Object> has no method 'join'
uncaughttypeerror:对象#没有方法“join”
完整功能:
function exportToCsv() {
var formInfo = $("#requestSortForm").serialize();
$.post('../../REQUEST/GetSortedRequest', formInfo, function (responseText) {
data = $.parseJSON(responseText);
console.log($.parse(responseText));
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function (infoArray, index) {
dataString = infoArray.join(",");
csvContent += index < infoArray.length ? dataString + "\n" : dataString;
});
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
});
}
函数exportToCsv(){
var formInfo=$(“#requestSortForm”).serialize();
$.post('../../REQUEST/GetSortedRequest',formInfo,函数(responseText){
数据=$.parseJSON(responseText);
log($.parse(responseText));
var csvContent=“数据:文本/csv;字符集=utf-8,”;
forEach(函数(infoArray,index){
dataString=infoArray.join(“,”);
csvContent+=索引
我在下面的例子中给出了
的答案,因此,如果您同意将对象类型更新一点,您可以使用本机的JSON.parse()
对象类型:
var infoArray = [];
var data = JSON.parse(responseText, function(k, v) {
if (k === "") return v; infoArray.push(v); return v;
});
现在,您可以将JSON中的值作为数组进行交互,并且仍然可以将数据
作为对象使用。显然infoArray
是一个对象,而该对象没有连接方法。错误消息非常清楚地说明了这一点。因为它不是数组……如何将该对象转换为数组?我已经包含了我下面的例子是为了让自己清楚地了解lil。请查看编辑后的答案。