Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在2中发送post时出错_Angularjs_Angular - Fatal编程技术网

Angularjs 在2中发送post时出错

Angularjs 在2中发送post时出错,angularjs,angular,Angularjs,Angular,显示此错误的角度2 post请求 do_login(username: string,password: string): Observable<string> { let body = JSON.stringify({"username":username,"password":password}); let headers = new Headers({ 'Content-Type': 'application/json' }); let options

显示此错误的角度2 post请求

do_login(username: string,password: string): Observable<string> {
    let body = JSON.stringify({"username":username,"password":password});
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    return this.http.post(this.loginUrl, body, options)
          .map((response) => {
            return response.json();
          }
    );
}
do_登录(用户名:string,密码:string):可观察{
让body=JSON.stringify({“username”:username,“password”:password});
let headers=新的头({'Content-Type':'application/json'});
let options=newrequestoptions({headers:headers});
返回this.http.post(this.loginUrl,body,options)
.map((响应)=>{
返回response.json();
}
);
}
让请求正常工作。在调用REST客户端时,POST url工作正常


我的代码中缺少什么。谢谢你的帮助。

这是因为CORS。您不在服务器端处理预飞请求。这就是405状态代码所说的:

405方法不允许 请求的资源不支持请求方法;例如,表单上的GET请求要求通过POST显示数据,或者只读资源上的PUT请求

它适用于GET方法,因为您处理的是简单的请求,而不是预处理的请求。这通常是服务器端问题,而不是前端/角度问题

这些文章可以帮助您了解发生了什么:


涉及CORS,因为在
POST
请求之前有一个
选项
请求

服务器未提供对
选项
请求的有效响应-导致上面列出的错误。您需要调查服务器的CORS配置,因为问题出在哪里——而不是上面的代码

如果
GET
工作正常,您应该查看配置