我正在离子框架中创建一个应用程序,我正在做一个http get后端REST API(每次点击按钮时都会被请求),它以JSON格式发送响应。
按钮:
<div class="RequestButton">
<div class="button button-assertive" ng-click="request()">
<a class="button">Request</a>
</div>
</div>
以下是应用程序中调用后端的代码:
$scope.request = function () {
var requestURL = API_URL + "request";
$http.post(requestURL, "userID=TJones92&cat=Mobile", { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(
function (res) {
$scope.response = res.data
})
当后端将响应返回给app离子时,在网页的控制台中给出了这个错误:
Error: JSON.parse: expected property name or '}' at line 1 column 5 of the JSON data
fromJson@http://localhost:8100/lib/ionic/js/ionic.bundle.js:14543:9
defaultHttpResponseTransform@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22560:16
transformData/<@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22651:12
forEach@http://localhost:8100/lib/ionic/js/ionic.bundle.js:13648:11
transformData@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22650:3
transformResponse@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23406:23
processQueue@http://localhost:8100/lib/ionic/js/ionic.bundle.js:27879:28
scheduleProcessQueue/<@http://localhost:8100/lib/ionic/js/ionic.bundle.js:27895:27
$RootScopeProvider/this.$get</Scope.prototype.$eval@http://localhost:8100/lib/ionic/js/ionic.bundle.js:29158:16
$RootScopeProvider/this.$get</Scope.prototype.$digest@http://localhost:8100/lib/ionic/js/ionic.bundle.js:28969:15
$RootScopeProvider/this.$get</Scope.prototype.$apply@http://localhost:8100/lib/ionic/js/ionic.bundle.js:29263:13
done@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23676:36
completeRequest@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23848:7
requestLoaded@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23789:9
不确定我为什么会收到此错误,而且离子不让我对JSON响应做任何事情。我不确定我是否做错了
答案 0 :(得分:0)
可能是用单引号括起来的值的问题。查看这篇文章,其中包含您问题的答案。
答案 1 :(得分:0)
我非常确定您的服务器发送的响应json格式不正确。我建议先使用JSON Validator
验证服务器响应在服务器端进行必要的更改。我相信在此之后,您的问题将得到解决。