我有端点使用PHP Slim。
在Angular 1.x中,我进行了调用和工作,但在Angular 2中它并没有。
Angular 1.X :(这有效)
$(document).ready(function() {
function scrollAnchor() {
if (window.location.hash) {
setTimeout(function() {
//$('html, body').scrollTop(65).show();
$('html, body').scrollTop(0);
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top - 65
}, 2000);
}, 0);
}
}
scrollAnchor();
$('.scroll-to').on('click', function() {
scrollAnchor();
});
Angular 2:
$http({
method: 'POST',
url: 'http//localhost:80/Slim/index.php/logina',
data: $.param({
email: this.email,
password:this.password
}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function successCallback(sucess){
// DO SOMETHING
}, function errorCallback(error){
// DO SOMETHING
});
答案 0 :(得分:1)
如果要将Post数据发送到Slim API您可以使用Form Data界面 从Angular2开始,我总是使用它而你不需要发送标题
您的代码将是那样的
let endpoint = "http://localhost:80/Slim/index.php/logina";
let data = new FormData();
data.append("email",username);
data.append("password",password);
//let headers = new Headers();
//headers.append('Content-Type', 'application/x-www-form-urlencoded');
//let options= new RequestOptions({
//headers: headers });
return this.http.post(endpoint,data)
.map(response => response.json())