Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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
Javascript 在Slim PHP中生成JSONP失败,可以';我不能用AngularJS读_Javascript_Php_Json_Angularjs - Fatal编程技术网

Javascript 在Slim PHP中生成JSONP失败,可以';我不能用AngularJS读

Javascript 在Slim PHP中生成JSONP失败,可以';我不能用AngularJS读,javascript,php,json,angularjs,Javascript,Php,Json,Angularjs,我正在尝试做一些Web项目,包括前端AngularJS和后端SlimPHP之间的通信 我想在php脚本中调用查询并生成JSON对象,以便在前端MVC中使用它 这是我的php脚本的一部分,使用Slim php框架 $app->get('/users','getUsers'); $app->run(); // GET http://www.yourwebsite.com/api/users function getUsers() { $sql = "SELECT user_id,u

我正在尝试做一些Web项目,包括前端AngularJS和后端SlimPHP之间的通信

我想在php脚本中调用查询并生成JSON对象,以便在前端MVC中使用它

这是我的php脚本的一部分,使用Slim php框架

$app->get('/users','getUsers');


$app->run();

// GET http://www.yourwebsite.com/api/users
function getUsers() {
$sql = "SELECT user_id,username,name,profile_pic FROM users ORDER BY user_id DESC";
try {
    $db = getDB();
    $stmt = $db->query($sql);
    $users = $stmt->fetchAll(PDO::FETCH_OBJ);
    $db = null;
 echo  json_encode($users);

} catch(PDOException $e) {
//error_log($e->getMessage(), 3, '/var/tmp/phperror.log'); //Write error log
    echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
在我的控制器中,这个表达式不能正常工作

 $http.jsonp("localhost/users).success(function (data) {
            $scope.myusers = data.results;

        }
    )

我应该在php脚本中更改什么?在浏览器中,当我键入您使用的
$http.jsonp()
仅用于跨域
带填充的json请求时,一切看起来都正常。这些不是常规的ajax请求,它们实际上是需要特殊外部包装函数调用的脚本请求

对于普通的json GET请求,请使用
$http.GET()


当我在浏览器中输入时,我得到结果[{“user_id”:“1”,“username”:“Maciej”,“name”:“Ciach”,“profile_pic”:“adsfafdasf”}],但Angular仍然没有得到它;C检查浏览器开发工具网络(F12)中的实际请求。您可以查看发送/返回的内容、状态、错误等。。。删除
'localhost
…而不删除
http://localhost
它是一个相对url<代码>$http.get(“/users”)
$http.get("localhost/users").success(function (data) {
        $scope.myusers = data.results;
});