Javascript angularjs可以';t使用POST与php通信
我试图在我的服务器上发送数据,然后从PHP获取数据,但我认为它不会发送数据 我的js代码:Javascript angularjs可以';t使用POST与php通信,javascript,php,angularjs,http,post,Javascript,Php,Angularjs,Http,Post,我试图在我的服务器上发送数据,然后从PHP获取数据,但我认为它不会发送数据 我的js代码: angular .module('h2hApp', []) .controller('mainCtrl', ['$scope', '$http', function(scope, http) { scope.initGames = function() { http({ method: 'POST',
angular
.module('h2hApp', [])
.controller('mainCtrl', ['$scope', '$http', function(scope, http) {
scope.initGames = function() {
http({
method: 'POST',
url: 'apis.php',
data: {
url: someUrl
}
})
.success(function(data) {
console.log(data);
});
};
scope.initGames();
}]);
和我的PHP文件:
<?php
$url = $_POST['url'];
echo file_get_contents($url);
?>
我使用jQuery实现了这一点,但使用AngularJS它似乎不起作用。我对Angular是个新手,我读过一些其他类似的问题。我尝试过添加标题和其他东西,但没有效果。应该是“参数”,而不是“数据”。请参见它应该是“参数”,而不是“数据”。请参见您可以使用方法- 请尝试此代码-
http.post('apis.php', {
url: someUrl
})
.success(function(data) {
console.log(data);
});
您可以使用方法-
请尝试此代码-
http.post('apis.php', {
url: someUrl
})
.success(function(data) {
console.log(data);
});
可以原谅您认为PHP脚本应该在
$\u POST
变量中使用数据,因为将数据编码为查询字符串一直是默认机制
但是,默认情况下,Angular将消息体编码为JSON对象。如前所述,您可以使用参数
,但从长远来看,我认为在服务器端进行一致性比较灵活。例如,您可以按如下方式读取和解码消息正文:
可以原谅您认为PHP脚本应该在$\u POST
变量中使用数据,因为将数据编码为查询字符串一直是默认机制
但是,默认情况下,Angular将消息体编码为JSON对象。如前所述,您可以使用参数
,但从长远来看,我认为在服务器端进行一致性比较灵活。例如,您可以按如下方式读取和解码消息正文:
请确保设置HTTP头,如下所示:
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
确保设置HTTP头,如下所示:
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
post方法只是一个辅助函数。他的方法并非天生错误。post方法只是一个辅助函数。他的方法并不是天生错误的。他试过了。仍然相同:(当函数“initGames”正在执行时,您在浏览器的网络日志中看到了什么?@icelessparams
作为api url的一部分发送-也就是说,变量将在$\u GET['url']
中,而不是在post中。@Emmissary是的,使用$\u GET['url']可以很好地处理params。谢谢你们!尝试过了。仍然一样:(在执行函数“initGames”时,您在浏览器的网络日志中看到了什么?@icelessparams
作为api url的一部分发送-即变量将位于$\u GET['url']
中,而不是post中。@Emmissary是的,使用$\u GET['url']可以很好地处理params。谢谢!