使用 DNN7 在 http put status 400 中获取 Angular js + Type Script 错误
Posted
技术标签:
【中文标题】使用 DNN7 在 http put status 400 中获取 Angular js + Type Script 错误【英文标题】:Getting Error in Angular js + Type Script in http put status 400 using DNN7 【发布时间】:2015-08-16 07:38:39 【问题描述】:我已经使用 angular js 实现了一个控制器,并使用 dot net nuke 7 键入脚本。并尝试使用 http.put 调用我的 web api 方法,但状态错误为 400。 这是我的控制器代码:-
var customerapp = angular.module('CustomerSearch');
module CustomerSearch.controllers
export class CustomerCtrl
static $inject = ['$scope', '$http', '$templateCache'];
debugger;
constructor(protected $scope: ICustomerScope,
protected $http: ng.IHttpService,
protected $templateCache: ng.ITemplateCacheService)
$scope.search = this.search;
console.log(angular.element($scope).scope());
public search = (search: any) =>
debugger;
var Search =
ActId: search.txtAct,
checkActiveOnly: search.checkActiveOnly,
checkParentsOnly: search.checkParentsOnly,
listCustomerType: search.listCustomerType
;
this.$scope.customer = [];
this.$scope.ticket = [];
this.$scope.services = [];
this.$http.put('<%=ResolveUrl("~/API/Search/PutDoSearch")%>', Search).
success((data, status, headers, config) =>
debugger;
this.$scope.cust_File = data[0].customers;
this.$scope.ticket_file = data[0].tickets;
this.$scope.service_file = data[0].services;
).
error((data, status) =>
debugger;
console.log("Request Failed");
alert(status);
);
var customerapp = angular.module("CustomerSearch", []);
customerapp.controller('CustomerCtrl', CustomerSearch.controllers.CustomerCtrl);
【问题讨论】:
您能提供完整的错误堆栈跟踪吗? 我已将我的状态置于警报状态,它给了我 400? 我不认为 可以在打字稿文件中使用。您应该提供正确的网址。 但这是我可以在 dotnetnuke 框架中使用的唯一语法 【参考方案1】:你应该摆脱
this.$http.put('<%=ResolveUrl("~/API/Search/PutDoSearch")%>', Search)
改为使用:
this.$http.put("/API/Search/PutDoSearch", Search)
【讨论】:
【参考方案2】:您需要让服务器为您解析<%=ResolveUrl("~/API/Search/PutDoSearch")%>
。
你可以这样做的一种方法是放在一个脚本标签中,例如
<script>
var doSearchUrl = '<%=ResolveUrl("~/API/Search/PutDoSearch")%>';
</script>
然后在你的打字稿中有
// At the root of your file
declare var doSearchUrl:string;
// And later
this.$http.put(doSearchUrl, Search)
【讨论】:
你好 baratthanx 为你的时间,但我在我的视图页面或哪里定义了这些脚本,以及关于声明,我也尝试在我的控制器中做同样的事情,最后在我有的地方声明它定义了我的角度应用程序,但它给了我“未定义”的错误以上是关于使用 DNN7 在 http put status 400 中获取 Angular js + Type Script 错误的主要内容,如果未能解决你的问题,请参考以下文章
SVN 提交失败 Unexpected HTTP status 200 'OK' on 'PUT' request to
Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported
Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
转 Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405