在以下脚本中,我将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
确定了传出和传入的预期格式,而不仅仅是传入。嗯这没有多大意义呢?谢谢你的回答!
答案 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);
}
});