我有一个用于发出post请求的函数。
$('#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,好吧),并获得的成功行将出现(我相信)。
我应该向php文件添加哪些代码?
更新:因为很多人请求php代码,这里有它的链接。谢谢你们的快速回复,伙计们。
首先,您应该从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);
}
}
}
不过,您可能想要使用除警报之外的其他功能。但这取决于你。