很难在标题中解释......
所以我有一个通过javascript验证的表单,并且ajax请求被发送到php页面,如果成功输入数据并设置数据库响应。
然而,在ajax调用得到正确的repsonse它没有执行我希望它...
我想要发生的是当php返回成功JSON返回时,重新加载.commentsdiv。
然而,这不起作用。但是评论被添加到数据库中。
这是代码
评论框div和表单的一部分:
<div class="commentsbox">
<form class="addcomment" action="process/addcomment.php" method="post">
<input type="hidden" class="postid" name="postid" value="'.$postID.'">
<input type="hidden" class="usernameuser" name="usernameuser" value="'.$usernameuser.'">
<input type="hidden" class="userid" name="userid" value="'.$userid.'">
<input type="text" name="addpostcomment" class="addpostcomment" placeholder="Add Comment..." />
<input type="submit" id="addcommentbutton" value="Post" />
<br />
<br />
</form>
</div>
这是javascript:
viewbuild.php网址是动态的,具体取决于查看的帖子。我是否需要它像viewbuild.php?id = 1等?因为那不起作用。
// JavaScript - Edit Post
$(document).ready(function(){
$(".addcomment").submit(function(){
var $targetForm = $(this);
$targetForm.find(".error").remove();
$targetForm.find(".success").remove();
// If there is anything wrong with
// validation we set the check to false
var check = true;
// Get the value of the blog update post
var $comment = $targetForm.find('.addpostcomment'),
newcomment = $comment.val();
// Validation
if (newcomment == '') {
check = false;
$comment.after('<br><br><br><div class="error">Text Is Required</div>');
}
// ... goes after Validation
$.ajax({
type: "POST",
url: "process/addcomment.php",
data: $targetForm.serialize(),
dataType: "json",
success: function(response){
if (response.databaseSuccess) {
$('.commentsbox').load('viewbuild.php');
}
else {
$ckEditor.after('<div class="error">Something went wrong!</div>');
}
}
});
return false;
});
});
这是php的一部分:
$return['databaseSuccess'] = $dbSuccess;
echo json_encode($return);
非常感谢任何帮助! :)
答案 0 :(得分:0)
好吧,为什么我认为你应该检查obj返回的值。
我的意思是..
if(response.databaseSuccess == ??! ) { ... }
或者你为什么不检查重新训练的弦的长度。
if(response.databaseSuccess.length > 3){ alert('ok');}
一个建议兄弟,如果你只返回一个参数..使用e string ..而不是JSON ..;) 所以,在php中你会有:
echo $databaseSuccess;
在JS ......中,IF会更简单:
if(response == "ok"){ alert('ok');}
得到它?
希望我帮助过。
答案 1 :(得分:0)
确保您的php响应正在设置正确的标头。您需要将内容类型设置为JQuery的“application / json”以调用success函数。尝试在调用jquery ajax函数时向错误添加调试或完成回调。