我正在尝试包含一个if语句来分析webmethod响应,无论是true还是false。我只想提醒用户,如果响应为真,则帖子成功,如果响应为假,则帖子不成功。
我可以使用xhttp.responseText获取响应,但我无法弄清楚如何将其构建到我的javascript中的if语句中:
//JavaScript that Posts to WebMethod
<script>
function createNewComment() {
var xhttp = new XMLHttpRequest();
var url = "http://localhost:57766/PALWebService.asmx/insertComment"
var a = document.getElementsByName("existingguid")[0].value;
var b = document.getElementsByName("newcomment")[0].value;
var c = 'existingguid=' + a + '&newcomment=' + b;
xhttp.open("POST", url, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
}
};
xhttp.send(c);
}
</script>
答案 0 :(得分:0)
我明白了。在检查readyState为4并且状态为200之后,我只是嵌套另一个if语句来检查XMLHttpRequest中的responseText,这是真的我调用了另一个函数,如果它是false,我通知用户webd方法上的帖子失败了。它可能不完美,但它适用于我需要的东西。
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
if (xhttp.responseText = true) {
addComment(b, today, userName);
}
else {
document.getElementsByName("newcomment")[0].value = '';
$("#commentLabel").html("Your comment was not saved in the database. Please try again or contact system admin.");
}
}
};