Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
Php 通过jquery401调用REST服务_Php_Jquery_Ajax_Rest_Slim - Fatal编程技术网

Php 通过jquery401调用REST服务

Php 通过jquery401调用REST服务,php,jquery,ajax,rest,slim,Php,Jquery,Ajax,Rest,Slim,我目前正试图从我用PHP/Slim创建的REST服务中检索数据。该服务很好地从数据库检索数据,但是当我试图通过AJAX调用获取数据时,我会遇到一个错误 最初控制台说这是因为没有设置访问控制允许源代码参数,但这是通过将参数添加到web.config(IIS)中修复的-现在我只剩下GET了http://localhost:8081/api/v1/users 401(未经授权)登录到Chrome控制台 该调用旨在托管在不同的服务器上,因此为了进行测试,我将该站点放在端口:8082上,RESTful服务

我目前正试图从我用PHP/Slim创建的REST服务中检索数据。该服务很好地从数据库检索数据,但是当我试图通过AJAX调用获取数据时,我会遇到一个错误

最初控制台说这是因为没有设置
访问控制允许源代码
参数,但这是通过将参数添加到
web.config
(IIS)中修复的-现在我只剩下
GET了http://localhost:8081/api/v1/users 401(未经授权)
登录到Chrome控制台

该调用旨在托管在不同的服务器上,因此为了进行测试,我将该站点放在端口
:8082
上,RESTful服务位于
:8081

我的AJAX调用编写如下(我也尝试了
jsonp
,但由于URL重写
?回调=…
会抛出404错误)

我的RESTful服务如下所示:

    header('Content-Type: application/json');

    // Load the Slim framework
    require 'Slim/Slim.php';
    \Slim\Slim::registerAutoloader();

    // Create a new Slim object
    $app = new Slim\Slim();

    // Define RESTful actions
    $app->get('/users', function() { get("SELECT * FROM users"); });

    function get($sql) {
      try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
        echo '{' . json_encode($results) . '}';
      }
      catch (PDOException $e) {
        echo '{"Error": {"Text": ' . $e->getMessage() . '}}';
      }
    }

    [...]

您能否尝试使用浏览器直接访问该服务?
    header('Content-Type: application/json');

    // Load the Slim framework
    require 'Slim/Slim.php';
    \Slim\Slim::registerAutoloader();

    // Create a new Slim object
    $app = new Slim\Slim();

    // Define RESTful actions
    $app->get('/users', function() { get("SELECT * FROM users"); });

    function get($sql) {
      try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
        echo '{' . json_encode($results) . '}';
      }
      catch (PDOException $e) {
        echo '{"Error": {"Text": ' . $e->getMessage() . '}}';
      }
    }

    [...]