В вашем примере ваш Javascript ожидает возврата XML или HTML. Вы можете быть явно об этом, но указав параметр dataType
. Это то, что вы хотите вернуть? Если это так, PHP должен сделать это:
<?php
echo '<p>hello world</p>'; // "text/html" is implied
?>
Кроме того, я не уверен, почему вы определяете функцию внутри документа, а не на глобальном уровне. Возможно, это проблема.
Обычно люди хотят вернуть JSON, в этом случае это должно выглядеть так:
<p>What is your name?</p>
<input type="text" id="name">
<input type="button" id="send" value="Send">
с
$(function() {
$("#send").click(doAjaxPost);
});
function doAjaxPost() {
$.ajax({
type: "POST",
url: "http://www.mcphersonindustries.com/bucket/api.php",
data: {
name: $("#name").val()
},
dataType: "json",
success: function(resp) {
alert(resp.result);
},
error: function(e){
console.log('Error: ' + e);
}
});
}
и PHP:
<?php
header('Content-Type: application/json');
$name = $_POST['name'];
$out = array('result' => 'Hello, ' . $name);
echo json_encode($out);
?>