2016-03-01 60 views
0

我对PHP和AJAX很新,所以请告知这种方法是否真的适合。用AngularJS/AJAX/JavaScript调用PHP

基本上我正在做的是使用来自Microsoft SQL Server的数据填充.JSON。我正在使用PHP文件来建立连接,该连接还将填充.JSON文件,然后可以读取该文件以填充离子列表。我能够从.JSON中读取没有问题,但是当我调用PHP文件时会出现问题。

我不确定调用它的最佳方法是什么。我尝试过AJAX,AngularJS和JavaScript方法,但似乎在访问PHP文件时他们失败了,但没有例外。

这是一个能够触发.success

angular.module('someApp').controller('someCrtl', function ($scope, $http) { 
$http.get("app/dataLink.php").success(

    function phpCall(data) {   
    $scope.info= data;    
} 
)}); 

注意代码$ scope.info =数据;不是我想要做的。这个控制器应该做的是调用PHP将填充.JSON然后读取相同的.JSON来填充$ scope.info

我能看到的是它从来没有实际上$ http.get PHP文档(我在它内部放置一个断点并且它从未被触发),但它仍然继续进入.success,没有例外。

我希望这足以继续下去。

其他相关信息可能是:

  • 使用Visual Studio 2015年企业
  • 使用AngularJS与离子
  • 使用PHP工具Visual Studio中通过Devsense

任何意见将是非常感谢,

谢谢。

+0

“什么这个控制器应该做的是呼吁将填充以.json然后从同一上传.json读来填充$ scope.info php的” - 这看起来正是代码_is_做。现在正在发生什么让你觉得它不是?控制台开发工具(F12)中是否有任何错误消息?如果您直接在浏览器中访问PHP网址,它是否会返回正确的数据? – Rhumborl

+0

[可能来自php文件的一个Angular范围的GET json数据](http:// stackoverflow。com/questions/25064570/get-json-data-from-a-php-file-for-a-angle-scope) –

+0

当我加载列表并运行这个控制器时,它应该进入PHP连接文件,它将从服务器填充JSON,然后从JSON中读取以填充列表。这不会发生,因为PHP文件永远不会被访问,因此JSON不会被填充,并且它似乎返回null以避免出现异常。 –

回答

0

从AngularJs DOC:

的$ HTTP遗留承诺的方法成功和错误已被弃用。

.then(function(response) { 
    console.log(response); 
} 

,如果你得到任何回应,当你检查见:

AngularJS: API: $http

的东西,如更换你的成功块。如果您使用chrome,还要注意您的“网络”选项卡,它会显示调用是成功(200)还是出错(500)并以这种方式调试问题。

1
angular.module('someApp').controller('someCrtl', function ($scope, $http) { 


    function success(result) { 
     console.log(result); 
     $scope.info = result; 
    }; 

    function error(result) { 
     alert("error"); 
    }; 

    $http.get("app/dataLink.php").then(success, error); 
});