2017-06-15 81 views
0

我需要将对象的Javascript数组传递给PHP。在互联网上发现了大约3种解决方案,但他们都没有为我工作。该阵列看起来像这样(在Chrome开发者控制台):使用AJAX/JSON将对象数组传递给PHP

enter image description here

而且我现在的AJAX调用看起来是这样的:

function consolidate() { 
     var studentsstring = JSON.stringify(students); 
     $.ajax({ 
      type: "POST", 
      url: "writefile.php", 
      dataType: "json", 
      data: {students: students}, 
      success: function(data) { 
        alert(data); 
      } 
     }); 
    } 

而且PHP文件看起来像这样:

<?php 
print($_POST['students']); 
?> 

目前,当我点击“合并”按钮时,没有任何反应。没有显示警报。 Chrome开发者在代码中报告没有错误。

+0

请显示按钮的HTML,它是如何触发“合并”功能。您是否可以通过在第一行中添加警报来验证“合并”功能实际上是否被调用?这将有助于缩小问题的范围。您还可以在浏览器中查看网络选项卡,查看是否发送了ajax请求,以及返回的是什么(如果有的话)。 – ADyson

+0

尝试在控制台中手动运行'巩固()'。与您的按钮关联的点击事件可能不起作用。 – Capsule

+1

'var studentsstring = JSON.stringify(students);'似乎也是多余的。 – ADyson

回答

1

哦,我很笨。编码时间太长。该行应该是:

data: {students: studentsstring}, 

现在它工作。谢谢大家。