如何将servlet返回的文本解析为Javascript中的$ .post()请求

时间:2013-04-11 01:24:09

标签: javascript ajax jsp jquery

我的java脚本是这样的:

$.post("url", {
        x: y,
        a: b
    },

    function (data) {
        if (data == "success") {
            $("#results").html("success");
            updatefunction(); // Need to update some values in database
        } else {
            $("#results").html("transaction failed: " + data);
        }
    });

我的servlet返回:

PrintWriter out = response.getWriter();
if(balance == true){
   out.println("success");
}
else{
    out.println("In Sufficient Balance");
}

我无法在javascript中比较我的servlet返回的字符串。我不想使用JSON或XML并使程序复杂。

我是否可以将(数据)解析为字符串的任何地方,以便在成功的基础上我可以完成其余的工作....

每次进入else循环并通过#results更新:transaction failed:success

3 个答案:

答案 0 :(得分:0)

很可能是白色空间。只需检查字符串的实例。

if(data.indexOf("success") !== -1){
  ...

答案 1 :(得分:0)

跟踪来自servlet的响应,如此

$.post("url", 
{x:y, a:b}, 
function(data){
   alert(data);
   if(data == "success"){
        $("#results").html("success");
        updatefunction();   // Need to update some values in database
    }
    else{
        $("#results").html("transaction failed: "+ data);
    }
});

答案 2 :(得分:0)

我使用jQuery.trim(string)从字符串中删除空格。还将我的servlet中的内容类型更改为:

response.setcontenttype("text");

感谢@jsshah和@joseph caracuel