Javascript $http post呼叫选项未post?
您好,我正在尝试调用我的后端,并且在调用post方法时遇到了一些奇怪的问题 我的代码看起来是这样的我觉得这个电话没问题有人能看一下吗Javascript $http post呼叫选项未post?,javascript,angularjs,http,ionic,Javascript,Angularjs,Http,Ionic,您好,我正在尝试调用我的后端,并且在调用post方法时遇到了一些奇怪的问题 我的代码看起来是这样的我觉得这个电话没问题有人能看一下吗 因此,可能我做错了什么,或者我需要将可选配置传递到http?这是一个飞行前请求,用于启用CORS。无需担心这是正常的。通常,浏览器不允许您的站点的JavaScript从跨源请求读取数据。这是因为您的站点可能指示浏览器从用户的网上银行、公司内部网或其他私人站点获取信息。这就是所谓的 一个名为的标准允许一个站点向另一个站点授予从中读取数据的权限 由于POST请求可能有
因此,可能我做错了什么,或者我需要将可选配置传递到http?这是一个飞行前请求,用于启用CORS。无需担心这是正常的。通常,浏览器不允许您的站点的JavaScript从跨源请求读取数据。这是因为您的站点可能指示浏览器从用户的网上银行、公司内部网或其他私人站点获取信息。这就是所谓的 一个名为的标准允许一个站点向另一个站点授予从中读取数据的权限 由于POST请求可能有副作用,因此添加了额外的安全层。在浏览器发出POST请求之前,它将发出一个请求,请求允许发出POST请求 您的服务器未配置为处理该选项请求(可能也未配置为返回POST请求的CORS头)
如果希望允许JavaScript从其他来源向CORS发出请求,则需要设置CORS支持。但我得到的XMLHttpRequest无法加载。无效的HTTP状态码405我觉得这更像是API配置的问题。您是如何解决问题的?我想我允许在后端使用它的
Remote Address:192.168.58.183:80
Request URL:http://192.168.58.183/ESService/ESService.svc/CreateNewAccount
Request Method:OPTIONS
Status Code:405 Method Not Allowed
Request Headersview source
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,pl;q=0.6
Access-Control-Request-Headers:accept, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:192.168.58.183
Origin:http://localhost:8100
Referer:http://localhost:8100/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93
Safari/537.36
Response Headersview source
Access-Control-Allow-Headers:Content-Type, Accept
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1728000
Allow:POST
Content-Length:1565
Content-Type:text/html; charset=UTF-8
Date:Mon, 02 Feb 2015 09:11:17 GMT
Server:Microsoft-IIS/7.5
X-Powered-By:ASP.NET
$scope.RegisterUser = function(){
var us = {
UserName:$scope.userName,
Password:$scope.password,
UserRoleID:null,
Company:$scope.company,
Terms:$scope.terms,
ID:null,
BuyerID:app.buyerId
};
$http({method:'POST', url:app.wcf + '/CreateNewAccount', data:{us:us}})
.then(
function(resp){
app.Logger(resp.data);
},
function(err){
app.Logger(err);
})};