【发布时间】:2016-07-22 12:35:10
【问题描述】:
我正在创建一个客户端脚本,以使用$http 将字典对象类型发送到 Web api 方法,如下所示:
$scope.SearchPolicyDetails = function (data) {
var searchPolicy = new Array();
searchPolicy["InsuredName"] = data.InsuredName;
searchPolicy["PostalCode"] = data.PostalCode;
searchPolicy["LOB"] = data.LOB;
searchPolicy["AgencyName"] = data.AgencyName;
searchPolicy["Symbol"] = data.Symbol;
searchPolicy["PolicyNum"] = data.PolicyNum;
searchPolicy["MCO"] = data.MCO;
searchPolicy["expireswithin"] = data.expireswithin;
searchPolicy["SortFields"] = data.SortFields;
searchPolicy["SortOrder"] = data.SortOrder;
$http({
url: "http://localhost:53054/api/GetPoliciesBySearch",
dataType: 'json',
data: searchPolicy,
headers: {
"Content-Type": "application/json"
}
}).success(function (response) {
$scope.value = response;
})
};
我有这个WebAPI 方法:
public List<Dictionary<string,string>> GetPoliciesBySearch(Dictionary<string,string> policySearch)
{
return SpecializedHandler.GetAllPolicies(policySearch).IterativeResource;
}
但我没有收到该方法的对象。
我在 chrome 控制台中看到了这个错误:
【问题讨论】:
-
浏览器开发工具网络中的请求状态如何?为什么不直接将
data传递给$http?也缺少method -
方法没问题..但是如何发送到有字典对象的方法,@charlietfl
-
那么您在浏览器开发工具网络中看到了什么?也看不到
method丢失时的情况如何。另外你为什么不使用错误处理程序? -
我已经修改并在我的帖子中添加了图片。 @charlietfl
-
@DotNetDeveloper。这个调用是 POST 还是 GET。我假设基于命名约定,您正在尝试执行 GET?
标签: c# angularjs asp.net-web-api