是否可以在url jquery中发送对象

data.push({ name: name, age: age, address: address, contactnumber: contactnumber }); var url = '../reports/student.php?data='+data; window.open(url, '_blank'); 

../reports/student.php?data=[object%20Object]

上面是我想要发送到另一个页面的对象,所以我可以检索它并在下一页上使用它来生成报告。 url看起来像上面那个我不确定这是否可能,如果可能的话,我如何获得对象中每个数据的值。如果不可能请指出正确的方向任何想法是ap

如果你肯定想要使用GET请求,请使用JSON.stringify

 var url = '../reports/student.php?data='+ encodeURIComponent(JSON.stringify(data)); 

但更好的方法是POST请求。

你也可以使用jQuery.param()

 var data = { name: 'yourname', age: 1, } var params = jQuery.param(data) // 'name=yourname&age=1' var url = '../reports/student.php?'+ params; 

jQuery.param()

创建适合在URL查询字符串或Ajax请求中使用的数组,普通对象或jQuery对象的序列化表示。 如果传递了jQuery对象,它应该包含具有名称/值属性的输入元素。

该文件还指出,那

如果传递的对象在Array中,则它必须是.serializeArray()返回的格式的对象数组

所以在你的情况下:

 var url = '../reports/student.php?' + jQuery.param(serializeArray(data)); 

要反序列化你应该使用jQuery BBQ的deparam函数,根据cce在这个SO问题中的答案: JavaScript / jQuery中的$ .param()反函数 。