返回WebMethod响应&使用If语句根据响应警告用户

时间:2017-11-07 15:33:34

标签: javascript xmlhttprequest webmethod

我正在尝试包含一个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>

1 个答案:

答案 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.");
                }
            }
        };