【发布时间】:2017-12-15 12:04:20
【问题描述】:
我有一个休息 URL,我需要在其中发布一些 JSON 数据,它会给出如下截图所示的响应
现在我需要在我的应用程序中使用 $http 或 $.ajax 来使用它。我使用了 $.ajax,如下所示
var postdata = {} //whole jsonobject which is der in above screenshot
$.ajax({
url: "http://10.11.13.153:8081/fro?assettype=00000000-0000-0000-0000-000000031026",
type: 'post',
data: postdata,
dataType: 'json',
success: function (data) {
console.log("response ",JSON.stringify(data));
}
});
但是为此我得到 200 响应,但我没有看到成功函数中的响应。
在网络选项卡中,我看到以下响应
terms%5Bitems%5D%5B0%5D%5B_type%5D=term&terms%5Bitems%5D%5B0%5D%5B_id%5D=6662c0f2.e1b1ec6c.1mdln1e8h.0ibdeqc.s1nm3u.vbt90ta1civ5asp5qetu5&terms%5Bitems%5D%5B0%5D%5B_url%5D=https%3A%2F%2F10.11.13.155%3A9445%2Fibm%2Fiis%2Figc%2F%23dossierView%2F6662c0f2.e1b1ec6c.1mdln1e8h.0ibdeqc.s1nm3u.vbt90ta1civ5asp5qetu5&terms%5Bitems%5D%5B0%5D%5B_name%5D=Export_02
不是 JSON 格式,也不是预期的。
下面是 N/w 标签页标题的截图
为什么在我的请求标头中看到 form-urlencoded 类型?
我知道默认情况下需要。那怎么改,让它取application/json呢?
也作为尝试而不是 JSON 作为我更改为的数据类型
datatype:'html'
那么这一次我得到了与上面相同的响应,但这次它在成功函数中得到了安慰。为什么这样?在这里可以做些什么来获得 JSON 格式的预期响应。或者任何需要在服务器端添加的标头。请帮助或想法
【问题讨论】:
-
你可以尝试使用数据:Json.stringfy(postdata)
-
success: function (data) { console.log("response ",JSON.stringify(responsedata)); }您的成功函数将您的数据返回为data,但您尝试控制台.logresponsedata -
@Zaphiel 对不起,我没有注意到只是错字......即使数据也没有得到安慰
-
"
var postdata = {} //whole jsonobject which is der in above screenshot" 这不是“JSON 对象”。那是一个对象。 JSON 是一种用于数据交换的文本符号。 (More here.) 如果您正在处理 JavaScript 源代码,而不是处理 字符串,那么您就不是在处理 JSON。
标签: javascript jquery angularjs json ajax