jquery ajax结果数据

时间:2016-04-22 19:14:40

标签: jquery ajax

我在ajax调用中使用返回数据时遇到问题。最好的方法是什么?

我只是将信息发送到checker.jsp。它计算它。如果检查结果良好,则以绿色响应。如果不好,它会以红色响应。

如果我在成功中使用它:

alert(light_color);

我得到的内容似乎是整个网页上的单词" Red" 40线下来。因此,if和elses不起作用。我想使用结果而只是结果。不是HTML和其中的一切。

我做错了什么?

任何帮助将不胜感激!

 $.ajax({
        type: 'POST',
        url: 'checker.jsp',
        data: {
            'bank_cnt': bank_cnt
        },
        success: function (result) {
            var light_color = result;
            if (light_color === 'Red') {
              alert('Red');  
            } else if (report === 'Green') {
                alert('Green');
            } else {
                alert('didnt work');
            }
        }
    });

3 个答案:

答案 0 :(得分:1)

  

我想使用结果,只使用结果。不是HTML及其中的所有内容。

'结果'有html及其中的所有内容'。您需要修改 checker.jsp 才能发送红色'或者' Green'并在文本响应的标题中设置内容类型。您应该研究如何以JSON格式响应请求。

答案 1 :(得分:1)

1)使用JSON存储您的结果:

<%@page import="org.json.simple.JSONObject"%>
<%
    JSONObject json = new JSONObject(); 

    //Result stored to JSON on the left.
    //Your result w/ Red or Green stored on the right.
    json.put("result", "result");
%>

如果您使用JSON存储结果,请尝试此操作(添加了contentTypedataType属性):

$.ajax({
        type: 'POST',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: 'checker.jsp',
        data: {
            'bank_cnt': bank_cnt
        },
        success: function (json) {
            var light_color = json.result;
            if (light_color === 'Red') {
              alert('Red');  
            } else if (report === 'Green') {
                alert('Green');
            } else {
                alert('didnt work');
            }
        }
    });

注意:如果您没有上面声明的contentType,则可能需要解析JSON对象:

jQuery.parseJSON(json);

2)如果您不想使用JSON:

将结果作为单独的jsp返回,只显示结果文本,并像Alex所述在url属性中引用该页面。抓住jsp会返回整个页面,所以如果你只想要结果,结果必须是页面所包含的全部内容。

答案 2 :(得分:0)

我认为您忘记阻止默认浏览器操作,请尝试这些行并告诉我您的内容。

jQuery(document).ready(function ($) {
    $("#your-form-name").submit(function (event) {
        // Prevent the form from submitting via the browser.
        event.preventDefault();
        // request var definition and filling
        bank_cnt= "SOME_DATA"
        // Call your function
        respViaAjax();
}
function respViaAjax() {
    //the response
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=UTF-8", //Or x-www-form-urlencoded or any other type
        url: "/checker.jsp",
        data: {
            'bank_cnt': bank_cnt
        },
        dataType: 'text',
        timeout: 10000,
        success: function (result) {
            var light_color = result;
            if (light_color === 'Red') {
              alert('Red');  
            } else if (report === 'Green') {
                alert('Green');
            } else {
                alert('didnt work');
            }
        }
        }
    });
});

如有必要,请勿忘记更改var名称。希望它对你有用..