处理接受text和json格式的ajax响应

时间:2018-03-23 09:27:12

标签: javascript jquery ajax

假设我通过Ajax提交表单并从文本或json接收来自servlet的响应,那么有没有办法处理这两个响应。正如我已经浏览了这个jquery / ajax文档Jquery ajax,我找到了acceptconverter来处理它,但在尝试之后我没有得到任何预期的结果。所以有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

在我的情况下,我通过ajax在javascript中处理了不同的响应,而没有使用JSONP和dataType

这是我的解决方案

$.ajax({
    type: form.attr('method'),

    url: form.attr('action'),

    data: form.serialize(),

    error: function(theRequest, textStatus, errorThrown) {
        alert('error');
        alert(theRequest.responseText);
        alert(errorThrown);

    },

    success: function(data) {

        alert('sucess');

        var result = data; // it may be string or json

        alert(result);

        if (result == 'error') { // if it is String
            // do your stuff
        } else { // if it is json

            // convert in json
            var jsondata = JSON.parse(result);
            alert(jsondata);
            // after converting it do your stuff
        }
    }
});

你可以看到我根据用途在不同的地方处理了不同的回答。但是有一个条件

  

在javascript中,几乎所有东西都是对象。但这些对象是   与我们在Java,C ++或其他传统方面看到的有所不同   语言。 JS中的对象只是一个带键值对的散列映射。一个   key始终是一个字符串,值可以是包括字符串在内的任何值   整数,布尔,函数,其他对象等