我如何发送JSON但希望使用AJAX / JQuery响应纯文本?

时间:2014-07-02 18:26:51

标签: javascript jquery ajax json

在以下脚本中,我将JSON格式的数据发布到服务器,但响应以纯文本形式发回。

    var regCredentials = {

        "username": creds.username,
        "password": creds.password,
        "fname": creds.fname,
        "lname": creds.lname

    };

    request = $.ajax({

        url: "internet.com/register",
        type: "POST",
        crossDomain: true,
        data: regCredentials,
        dataType: "json";

        request.always(function (data) {

                console.log("Response: " + data);
                postResponse(data);

        };

    });

因为函数需要JSON,所以返回的数据附加"。它也可能被解析,因为某种原因不会抛出错误。

如何编写以纯文本格式接受回复的JQuery AJAX帖子?

编辑:

我意识到我的困惑是,我认为data确定了传出和传入的预期格式,而不仅仅是传入。嗯这没有多大意义呢?谢谢你的回答!

1 个答案:

答案 0 :(得分:5)

dataType参数用于设置预期的响应类型。在您的情况下,将其设置为text。这不会影响以任何方式发送的信息。当您发送POST请求时,信息将被放入请求中。头。如果它是GET,它将被序列化为一个字符串并附加到查询字符串中的URL。

你在处理函数周围的语法也有点过时了。试试这个:

var regCredentials = {
    "username": creds.username,
    "password": creds.password,
    "fname": creds.fname,
    "lname": creds.lname
};

request = $.ajax({
    url: "internet.com/register",
    type: "POST",
    crossDomain: true,
    data: regCredentials,
    dataType: "text",
    success: function (data) {
        console.log("Response: " + data);
        postResponse(data);
    }
});