I have a form that submit data on a click via ajax it runs a php script. This bit is working what I want is for when the php runs it return a value for success or not but it seems to be failing and I can't see why.
This is the form
<div id="container"></div>
<form id="availability-check" class="appnitro" method="post" onsubmit="return false">
<label class="description" for="element_1">Post Code </label>
<input id="postcode" name="postcode" type="text" maxlength="10" value="" placeholder=" e.g. WC1 1AA"/>
<input id="check-availability" class="art-button check-availability" type="submit" name="submit" value="Submit" />
</form>
This is the javascript
$(document).ready(function(){
$("#availability-check").submit(function(){
var getField = $("#postcode").val();
$.ajax({
url: '/index.php/postcodeupdate' ,
type: 'POST',
data: '{ postcode: getField }',
dataType: "json",
success: function(data){
$('#container').append(data)
}
});
});
});
And this is the php
<?php
if(!empty($_POST['postcode'])){
$postcode=$_POST["postcode"];
$postcode= preg_replace('/\s+/', '', $postcode);
$db = JFactory::getDBO();
$query = "SELECT * FROM rex71_postcodes WHERE postcode='". $postcode . "'";
$db->setQuery($query);
$reply = $db->query();
$rowsnum = $db->getNumRows();
if($rowsnum>0){
header('Content-Type: application/json');
echo json_encode(array('result' => '1'));
}
else{
header('Content-Type: application/json');
echo json_encode(array('result' => '0'));
}
}
?>