我有一个表单要插入用户。我使用POST方法和存储过程。ReturnStatus
和ReturnMessage
将根据插入的数据自动调用。
在插入数据之前,当ajax返回null
值时,我遇到了一些错误。但是,当填写并提交表单时,其工作完全可以很好地显示成功操作的结果。
这是我的密码:
php
if(isset($_POST['submit']))
{
$UserNm=$_POST["UserNm"];
$UserId=$_POST["UserId"];
$UserPwd=$_POST["UserPwd"];
$stmt = odbc_exec(
$conn,
"CALL UserInsert (
'$UserNm',
'$UserId',
'$UserPwd',)"
);
if (!$stmt) {
"Error : " . odbc_errormsg();
}
if ($stmt) {
if (odbc_fetch_row($stmt)) {
$ReturnStatus=odbc_result($stmt,'ReturnStatus');
$ReturnMessage=odbc_result($stmt,'ReturnMessage');
}
if(isset($ReturnStatus) && $ReturnStatus==1) {
$ReturnMessage=odbc_result($stmt,'ReturnMessage');
}
}
}
echo json_encode($ReturnMessage);
?>
脚本
<script>
$.ajax({
url: "insert_sp.php",
dataType: "json",
success: function(data){
alert(data.test);
}
});
</script>
请帮帮我。谢谢您:)
发布于 2017-03-10 07:58:49
检查,您的$ReturnMessage
对象是否是UTF-8编码的,因为json_encode只处理UTF-8编码的数据。您可以使用http://php.net/manual/de/function.mb-detect-encoding.php测试编码,并使用http://php.net/manual/de/function.utf8-encode.php更改编码。
@见:http://php.net/manual/en/function.json-encode.php:
所有字符串数据必须被UTF-8编码.
在json_encode
行之前添加这一行:
$ReturnMessage = utf8_encode ( $ReturnMessage );
发布于 2017-03-10 07:56:34
您正在检查POST请求类型:
if(isset($_POST['submit']))
在ajax发送GET
请求时,请阅读有关如何使用ajax和jquery实现帖子的更多信息。
<script>
$.ajax({
url: "insert_sp.php",
method: "POST",
data: {submit: 'true'},
success: function(response) {
// while you are expecting a json response
// so you will need to decode it .
var data = JSON && JSON.parse(response) || $.parseJSON(response);
alert(data);
}
});
</script>
https://stackoverflow.com/questions/42712779
复制相似问题