我有一个发布帖子请求的功能。
$('#save').click( function() {
...
$.ajax({
type: 'POST',
url: 'logic/save.php',
data: { 'json': JSON.stringify( post ) },
dataType: 'jsonp',
success: function( data ) {
console.log('success!')
}
});
}
请求处理程序是用php编写的,如您所见,并使用mysql执行操作。由于我对php和请求知之甚少,我在控制台中看不到任何成功!输出。 PHP代码运行正常,mysql查询运行没有错误。
我想要的是能够在最后用PHP代码编写一些东西,这样我在js中的代码可以作为肯定响应(如200,OK)和成功!行接收它然后在控制台中(我相信)会出现。
我应该在php文件中添加什么代码?
更新:因为很多人都要求使用php代码,所以这里是link。谢谢你快速回复,伙计们。
答案 0 :(得分:4)
首先,你应该从jsonp切换到json,因为在这种情况下你不需要jsonp。以下说明假设您已进行了更改。
当您回复客户端时,错误在您的PHP代码中。您可以使用以下行:
print_r( "New item inserted.\n" );
然而,jQuery期望你从你的端点返回JSON(事实上,它应该,因为将明文发送回ajax客户端几乎从来都不是正确的方式)。我们可以通过将上面的行更改为以下内容来使用jQuery:
print json_encode( array('success' => true, 'message' => "New item inserted." ) );
您应该发现自己处于客户的成功回调中。此代码适用于您的成功处理程序:
{ // ...,
success: function(response) {
if (response.success) {
alert(response.message);
}
}
}
但是,您可能希望使用除警报之外的其他内容。但这取决于你。