我想上网本REST API,它接受三个参数: stationId
,crusherId
,monthYear
我做它像这样在AngularJS为:
$http({
//headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
//headers: {'Content-Type': 'application/json; charset=UTF-8'},
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept': 'application/json'
},
url: 'https://myurl../api/getHPData',
method: 'POST',
data: {
stationId: 263,
crusherId: 27,
monthYear: '2016-4'
}
})
.then(function(data, status, headers, config) {
//console.log(JSON.stringify(response));
console.log(data);
})
.catch(function(error){
//console.log("Error: " + JSON.stringify(error));
console.log(error);
})
但是我总是这样:
对象{数据:“ {”结果“:”假“}”“,状态:200,配置:对象,状态文本:”确定“,标头:功能}
要么
{“ data”:“ {\” result \“:\” false \“}”,“状态”:200,“ config”:{“方法”:“ POST”,“
transformRequest”:[null],“ transformResponse “:[null],”标头“:{” Content-
Type“:” application / x-www-form-urlencoded; charset = UTF-8“,” Accept“:”
application / json“},” url“: “
https://myurl../api/getHPData ”,“ data”:{“
stationId”:263,“ crusherId”:27,“ monthYear”:“ 2016-4”}},“ statusText”:“ OK”
}
如果我更改header
Content-Type
为:
headers: {'Content-Type': 'application/json; charset=UTF-8'},
它给:
对象{数据:null,状态:-1,配置:对象,statusText:“”,标头:函数}
要么
{“数据”:null,“状态”:-1,“配置”:{“方法”:“ POST”,“ transformRequest”:[null],“
transformResponse”:[null],“标题”:{“内容-Type“:” application / json; charset =
UTF-8“,” Accept“:” application / json,text / plain, / “},” url“:”
https://myurl../api/getHPData “ ,“数据”:{“
stationId”:263,“ crusherId”:27,“ monthYear”:“ 2016-4”}},“ statusText”:“”}
我做错了,请帮帮我。
柱塞在这里:
https://plnkr.co/edit/57SiCdBZB2OkhdR03VOs?p=preview
(编辑)
注意: 我可以这样做jQuery
:
<script>
$(document).ready(function() {
get_homepage_data(263, 27, '2016-04');
function get_homepage_data(stationIds, crusherIds, date) {
var url = "https://myurl../api/getHPData";
var data_to_send = {
'stationId': stationIds,
'crusherId': crusherIds,
'monthYear': date
};
console.log("Value is: " + JSON.stringify(data_to_send));
//change sender name with account holder name
// console.log(data_to_send)
$.ajax({
url: url,
method: 'post',
dataType: 'json',
//contentType: 'application/json',
data: data_to_send,
processData: true,
// crossDomain: true,
beforeSend: function () {
}
, complete: function () {}
, success: function (result1) {
var Result = JSON.parse(result1);
var value_data = Result["valueResult"];
var foo = value_data["gyydt"];
console.log("Log of foo is: " + foo);
var foo2 = 0;
// 10 lac is one million.
foo2 = foo / 1000000 + ' million';
console.log(JSON.stringify(value_data["gyydt"]) + " in million is: " + foo2);
}
, error: function (request, error) {
return false;
}
});
}
}); // eof Document. Ready
</script>
上面脚本的输出script
是:
这是完美的。:)
发布使用URL编码的表单数据时,请使用$
httpParamSerializer服务
转换请求:
$http({
headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
url: 'https://fnrc.gov.ae/roayaservices/api/getHPData',
method: 'POST',
transformRequest: $httpParamSerializer,
transformResponse: function (x) {
return angular.fromJson(angular.fromJson(x));
},
data: {
"stationId": 263,
"crusherId": 27,
"monthYear": '2016-04'
}
})
.then(function(response) {
console.log(response);
$scope.res = response.data;
console.log($scope.res);
});
通常,$
http服务会自动解析JSON编码对象的结果,但是此API返回的是已从对象进行双重序列化的字符串。该transformResponse
功能解决了该问题。
PLNKR上的演示
RESTAPI在映射到Java对象时采用输入内容类型:application/x-www-form-urlencoded,如 在表单输入请求中,我正在设置my_name和my_phone的值,但MyRequest对象的myName和myPhone为null。 我正在使用Jackson annotations 2.3 jar 有什么建议吗?可能有什么问题?
我试图访问这个REST API,它接受三个参数:,,我在AngularJS中这样做: 但我总是这样: 对象{data:“{”result:“false”},状态:200,配置:Object,状态文本:“OK”,标题:function} 或者 {"data":"{\"结果\":\"false\"}","状态": 200,"配置":{"方法":"POST","transformRequest":[nu
我正在尝试使用,但数据没有到达PHP。我认为这是因为当使用标题始终设置为
当内容类型不是text/html、text/plain或text/xml,而是application/x-www-form-urlencoded内容类型时,我很难理解如何设置字符集。 给出以下(简化的)javascript代码: 如果我没有显式设置编码, Firebug告诉我内容类型是"Application/x-www-form-urlencoded; charset=UTF-8"。 例如,如果
我有以下服务,我必须通过方法访问它,我可以通过访问它,但我不知道如何使用(v1) 这是我的控制器。js: 我想要的是“volumeResult”的值 问题: 它总是返回: 对象{data:“{”result:“false”},状态:200,配置:Object,状态文本:“OK”,标题:function} 和 当我通过没有引号它处理(算术)它作为 因为服务是,但是当我在中分析它时,我得到:(查询字符
我一直在尝试找出一种在Azure API管理正文中POST Content-Type Application/x-www-form-urlencoded的方法。 我成功地在Postman中实现了它,因为它支持x-www-form-urlencoded,但似乎找不到在API管理中实现它的方法。无论我在哪里以及如何尝试在API管理中发布正文,它都会给出一个错误:解析请求时出错。所需格式:{token: