我正在尝试将我的服务输出返回到控制器的调用变量"响应"。该服务确实被调用,它也有一个输出,但它永远不会再回到我的调用。我在这里做错了什么?
this.AssociatetoJob1 = function (application) {
var config = {
headers: {
'contentType': 'application/json; charset=utf-8;'
}
};
return $http.post('/api/Application/AddApplication',
JSON.stringify(application), config).then(function (result) {
return result.data;
});
}
以下是来自我的呼叫控制器的行:
var response = CandidateService.AssociatetoJob1(appInfom);
答案 0 :(得分:0)
您的contentType
错误。请改变此Content-Type
<强> JS 强>:
this.AssociatetoJob1 = function (application) {
var config = {
headers: {
'Content-Type': 'application/json; charset=utf-8;'
}
}
return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) {
return result.data;
});
}
<强> HTML 强>
var response = CandidateService.AssociatetoJob1(appInfom);
您可以使用.then对已解决的承诺进行API调用返回的详细信息。
response.then(function(result){
console.log(result.data);
})
答案 1 :(得分:0)
this.AssociatetoJob1 = function (application) {
var config = {
headers: {
'contentType': 'application/json; charset=utf-8;'
}
}
return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) {
return result.data;
});
}
上面的代码确实会返回Promise对象。为了利用这个,你需要在控制器中执行类似下面的操作:
var responseData ;
CandidateService.AssociatetoJob1(appInfom).then(function(response){
responseData = response.data ;
})
答案 2 :(得分:0)
在你的&#34; this.AssociatetoJob1&#34;功能,你称之为服务
return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) {
return result.data;
});
在此,您在调用服务时使用了回调函数,而不是这样,请调用
之类的服务return $http.post('/api/Application/AddApplication', JSON.stringify(application), config);
这意味着只需从服务调用中删除.then()回调并调用&#34; this.AssociatetoJob1&#34;像
这样的方法this.AssociatetoJob1(application).then(function(response){console.log(response.Data)});
希望它能帮到你......