本地,具有相同的参数 - 我的帖子工作就好了。 现在当我在QA版本的服务器上测试时 - 我收到以下错误 " .. Services / ClearingService.svc / FunctionName 500(内部服务器错误)"
我的帖子看起来像那样:
var url = baseService + "Services/ClearingService.svc/functionName";
var deferred = $q.defer();
var request = $http({
method: "post",
url: url,
data: {
payment: payment, isNotifyOnly: isNotifyOnly , isCreateDoc : isCreateDoc
}
});
request.success(function (response) {
clearingData = response.d;
deferred.resolve(response);
});
request.error(function (response) {
deferred.reject(response);
});
return deferred.promise;
因为我已经提到所有参数都是有效的,我在QA服务器上的版本与我本地环境中的版本相同。
我认为它与WCF定义有关。
有什么建议吗?
答案 0 :(得分:0)
您似乎缺少标题信息,并且序列化了您发布的参数。 你在哪里
data: {
payment: payment, isNotifyOnly: isNotifyOnly , isCreateDoc : isCreateDoc
}
将其更改为:
data: $httpParamSerializer({
payment: payment, isNotifyOnly: isNotifyOnly , isCreateDoc : isCreateDoc
}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
我个人通常使用$ .param代替$ httpParamSerializer,这对我有用。但是。$ .param是一个Jquery函数,$ httpParamSerializer是角度等价,完全相同。只是不要忘记注入$ httpParamSerializer函数。