AJAX を使用して連想配列を php ファイルに送信するのに苦労しています。はっきりと分からないことがあります。入力タグの形式から配列を作成するコードを次に示しますが、それを送信してphpで解釈する方法がわかりません。
<script type="text/javascript">
$(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 + '<br/>');
}
});
return false; // keeps the page from not refreshing
});
});
</script>
<body>
<form>
<input type="text" name="name" id="name" value="Jeff Aberle"/>
<input type="text" name="address1" id="address1" value="4710 East Broadway"/>
<button type="submit" name="updatedoctor" id="updatedoctor" value="all">All</button>
</form>
</body>
これが私のphpコードです:
<?php
$name = $_GET['name'];
$address1 = $_GET['address1'];
$array = array($button, $address1);
print json_encode($array);
?>
ああ、すべてが機能するようになりました。ここですべてのコードを編集して、これを機能させました。
<?php
// Get value of clicked button
$name = $_GET['name'];
$address1 = $_GET['address1'];
$array = array(
"name" => $name,
"address" => $address1,
);
print json_encode($array);
?>
id=wines の div もあります。それは私が示すのを忘れていた別のものでした. ただし、そこにデータが返され、名前なしで表示されます。