带有JSON Response的AJAX示例,传递对象

我很难用AJAX将关联数组发送到php文件。 有些事情我不清楚。 这是我从一种输入标签forms制作数组的代码,但我不知道如何发送它并在php中解释它。

 $(document).ready(function(){ $(':submit').on('click', function() { // This event fires when a button is clicked var theData = {}; $(":input:not(:button)").each( function(index){ var input = $(this); theData[input.attr('name')] = input.val(); } ); $.ajax({ // ajax call starts url: "http://www.aberlechiropractic.com/meningealrelease/modifydoctors/modifydoctors3.php", data: theData, dataType: 'json', success: function(data) { $('#wines').html(''); // Clear #wines div $('#wines').append('Data Received: ' + data.name+' '+data.address + '
'); } }); return false; // keeps the page from not refreshing }); });

这是我的PHP代码:

  

啊,现在一切正常。 我在这里编辑了所有代码以使其工作。

  $name, "address" => $address1, ); print json_encode($array); ?> 

我也有一个id = wine的div。 这是我忘记展示的另一件事。 这是数据返回并显示没有名称的地方。

收集值的jQuery代码是正确的,尽管.serialize()会简化它。

要在PHP中检索值,它与正常提交表单的方式相同。 他们在$_GET['name']$_GET['address1']theData只是包含该对象的Javascript变量的名称,它不是发送给PHP的属性名称。

发送数据:我假设您要发送表单的结果? 为此,首先您需要向页面添加提交按钮。 这应放在您的表单中以提交代码。

其次,看起来你错过了你在AJAX成功响应中引用的

,所以你想要添加它。

试试这个你必须在表单上添加按钮来激活动作:

   

对不起,我在手机上,所以答案很简短,但请使用序列化

http://api.jquery.com/serialize/

  $('form').on('submit', function(){ $data = $(this).serialize(); //send via ajax return false; })