当托盘使用$ http将angularJS与我的PHP服务器端脚本连接时,我遇到了问题。
我的$ http看起来像这样
$http.get('http://www.muslimsquare.com/sandbox/user_login.php', {"userID":'123456'}).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
alert(data);
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
alert(data)
});
正如您所见,我尝试将值为123456的userID传递给我的服务器。我的PHP脚本就像这样
<?php
echo 'userID is'.$_GET['userID'];
?>
它只是将userID响应回客户端。
当我运行此代码时,它只显示
userID是
没有用户ID返回客户端。
我的代码出了什么问题。
任何想法如何解决这个问题?
谢谢。
答案 0 :(得分:0)
这就是我使用htttp方法的方法,
$http({method: 'get', url: 'http://www.muslimsquare.com/sandbox/user_login.php?userID=123456'}).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
alert(data);
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
alert(data)
});
错误不在角度
XMLHttpRequest cannot load http://www.muslimsquare.com/sandbox/user_login.php?userID=123456. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://s.codepen.io' is therefore not allowed access. index.html:1
null
您尝试连接的服务器已禁用其他服务器以阻止交叉脚本,要禁用此功能,您需要在user_login.php中设置标头
将其添加到php文件的顶部
header('Access-Control-Allow-Origin: *');
然后尝试this codepen
答案 1 :(得分:0)
此http请求是异步的。这意味着,尝试这种方法: 在您的服务功能中调用此功能
promise = $http({
url: "http://your.url.com/service.php",
method: "POST",
data: {"data":data}
}).then(function(response) {
// The then function here is an opportunity to modify the response
// The return value gets picked up by the then in the controller.
return response.data;
});
// Return the promise to the controller
return promise;
在控制器中调用服务,如:
Service.getData(data).then(function(returnedData) {
$scope.data = returnedData;
});
您从服务返回的数据现在位于$ scope.data中,并将显示在您的前端{{data.value}}
希望这有帮助
答案 2 :(得分:0)
嘿,你的第一个代码是正确的,虽然它意味着获取JSON数据。
<?php
echo 'userID is'.$_GET['userID'];
?>
这不会输出json
如果您还没有找到解决方案,请尝试此操作
$userId = $_GET['userID'];
echo '{"userID ":$userId}';
然后在提取方
$http.get('test.php', { params:{ "userID": 2, "name": "yourNameIfAny" } }).then(function(resp){
console.log('Success', resp);
// For JSON responses, resp.data contains the result
$scope.conditions = resp.data.userID;
$ionicPopup.confirm({
title: 'Json Responce',
template: resp.data.userID
});
confirmPopup.then(function(res) {
if(res) {
console.log('You are sure');
} else {
console.log('You are not sure');
}
});