将数组对象传递给javascript函数

将数组对象传递给javascript函数,javascript,arrays,sharepoint-2013,Javascript,Arrays,Sharepoint 2013,我正在创建一个动态链接,在这个链接中,我正在传递带有一些值和数组的函数,但当调用该函数时,数组将变成类似字符串的“[object object]”。它不再作为数组保留 Javascript代码 var mdata = {}; mdata.itemId = data.d.ID.toString(); mdata.sucessMsg = "Gate Pass detail document is uploaded successfully.";

我正在创建一个动态链接,在这个链接中,我正在传递带有一些值和数组的函数,但当调用该函数时,数组将变成类似字符串的“[object object]”。它不再作为数组保留

Javascript代码

var mdata = {};
            mdata.itemId = data.d.ID.toString();
            mdata.sucessMsg = "Gate Pass detail document is uploaded successfully.";
            mdata.errorMsg = "Gate Pass detail document uploading cancel";
            tdUplDoc.html("<a id='uplDoc' href='#' onclick=\"javascript:openBasicDialog('UploadDocument.aspx','Upload CivilID or Passport Copy','" + mdata + "');\">Upload Documents</a>");

如何将数组保持为数组而不是字符串。我做错了什么。请有人帮帮我:(

将其作为JSON字符串传递

"'..,'" + JSON.stringify(mdata) + "');\">Upload Documents</a>");

这不起作用,请执行以下操作

var a = document.createElement('a');
a.id = 'uplDoc';
a.href='#';
a.addEventListener('click', function(){
  openBasicDialog('UploadDocument.asp', 'Upload CivilID or Passport Copy', mdata);  
}
tdUplDoc.appendChild(a);

您得到的是
[object object]
,因为您正在进行字符串连接,这是此对象的字符串表示形式:

"<a id='uplDoc' href='#' onclick=\"javascript:openBasicDialog('UploadDocument.aspx','Upload CivilID or Passport Copy','" + mdata + "');\"

学习使用DOM,而不是试图通过将HTML字符串混搭在一起来构建DOM。请不要粗鲁。这是我用来制作动态表格的代码部分。我不是粗鲁。你的技术容易出错且过于复杂。DOM会让事情变得更简单。你的解决方案是可行的,但因为mdata有字符串,所以它是givi我用JSON.stringify(mdata)解析的未终止字符串的ng错误。替换(/\“/g,”)谢谢again@Milind很乐意帮忙!:)
var a = document.createElement('a');
a.id = 'uplDoc';
a.href='#';
a.addEventListener('click', function(){
  openBasicDialog('UploadDocument.asp', 'Upload CivilID or Passport Copy', mdata);  
}
tdUplDoc.appendChild(a);
"<a id='uplDoc' href='#' onclick=\"javascript:openBasicDialog('UploadDocument.aspx','Upload CivilID or Passport Copy','" + mdata + "');\"
tdUplDoc.html("<a id='uplDoc' href='#'>Upload Documents</a>");

document.getElementById('uplDoc').addEventListener('click', function(){
   openBasicDialog('UploadDocument.asp', 'Upload CivilID or Passport Copy', mdata);  
});