我正在制作一个android应用程序,客户端使用ionic/codova,服务器端使用php,但每次测试时我都会收到这个错误
----------------------------------------------------------------------------
资源被解释为脚本,但使用MIME类型text/html/传输:"http://restaurent.eb2a.com/app/test.php?callback=angular.callbacks._0". 未捕获的语法错误:意外的标记<
故障
未定义
404
----
----------------------------------------------------------------------------
这是我的index.html
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<script src="js/angular.min.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="myCtrl">
<button ng-click="clicked($event)">Click me</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.clicked = function($event) {
var url = "http://restaurent.eb2a.com/app/test.php?callback=JSON_CALLBACK";
$http.jsonp(url).success(function(data) {
//console.log("success");
if (data['reponse'] == 'true') {
console.log("success");
console.log(data);
console.log("----");
}
}).error(function(data, status) {
console.log("failure");
console.log(data);
console.log(status);
console.log("----");
});
};
});
</script>
</body>
</html>
这是我的测试.php
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With');
header('Access-Control-Allow-Credentials: true');
header('Content-Type: application/json');
echo $_GET['callback'] ."({'reponse': 'true'})";
?>
注意:当我用浏览器测试同样的代码时,它工作得很好。
也许您需要在请求中进行配置:angular http jsonp
像这样:
headers: {
'Content-Type': 'application/json'
}