Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何发送JSON,但希望用AJAX/JQuery以纯文本作为响应?_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 我如何发送JSON,但希望用AJAX/JQuery以纯文本作为响应?

Javascript 我如何发送JSON,但希望用AJAX/JQuery以纯文本作为响应?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,在下面的脚本中,我将JSON格式的数据发布到服务器,但响应将以纯文本形式发送回来 var regCredentials = { "username": creds.username, "password": creds.password, "fname": creds.fname, "lname": creds.lname }; request = $.ajax({ url: "int

在下面的脚本中,我将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帖子?

编辑:


我意识到我的困惑是,
数据
决定了传出和传入的预期格式,而不仅仅是传入。这没有多大意义,是吗?谢谢你的回答!

数据类型参数用于设置预期的响应类型。在你的情况下,将其设置为
文本
。这没有任何意义不影响以任何方式发送的信息。当您发送POST请求时,信息将放在请求的标题中。如果它是GET,则会序列化为字符串并附加到querystring中的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);
    }
});

如果要返回,请将数据类型更改为“文本”text@PatrickEvans但是我需要发送JSON。如果您在响应中得到附加的
,那么您需要检查服务器端代码。
dataType
选项对发送的数据没有影响,只是告诉jQuery如何处理传入的响应。现在它有意义了。也谢谢你的语法提示。