我有以下功能,我试图使用$ http提供程序重写。文档显示了许多不同的方法,我无法做到这一点。这是功能:
function Ingest(Filename, ID, baseUrl, logger){
var url = baseUrl + '/php/' + 'Ingest.php';
var dataString = 'Filename=' + encodeURIComponent(Filename) + '&ID=' + encodeURIComponent(ID);
$.ajax({
type: "POST",
url: url,
async: true,
cache: false,
data: dataString,
success: function(results){
logger.success('Ingestion process has been finished.', '', 'Success');
}
//fail
, error: function (jqXHR, textStatus, errorThrown){
alert("error:\r\n" + errorThrown);
}
});
}
以下是$ http代码示例:
$http({
method: 'POST',
url: config.appBaseUrl + '/php/' + 'Ingest.php',
data: { ID: encodeURIComponent(ID), Filename: encodeURIComponent(Filename) }
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
谢谢
答案 0 :(得分:1)
在第一个样本中你做了一个帖子,在第二个样本中你得到了一个帖子。
您可以使用$ http。
提供的快捷方式$http.post( config.appBaseUrl + '/php/' + 'Ingest.php', Filename: encodeURIComponent(Filename), ID: encodeURIComponent(ID)).then(function(response){
}, function(rejection){
});
如果要为$ http(标题,...)设置一些特定配置,请使用函数的第3个参数。
请注意,快捷方式post / put有一个请求体的第二个参数,第三个用于配置.Delete和get没有请求体参数,所以配置是函数的第二个参数。