PhoneGap - Jsonp错误404未找到电话

时间:2016-05-11 06:40:59

标签: angularjs cordova phonegap-plugins

这是一个公共错误,但Stack上的每个解决方案都没有解决我的问题。

我有一个phonegap应用,我的jsonp电话给我发了404错误

这是控制器的功能(angularjs):

$scope.pullContent = function() {
  $http.jsonp($scope.yourAPI+'/?page='+$scope.pageNumber+'&callback=JSON_CALLBACK').error(function(jqXHR, textStatus, errorThrown){
      alert("### ERROR ###");
      alert(textStatus +' // '+ errorThrown);
      alert($scope.yourAPI+'?page='+$scope.pageNumber);
    }).success(function(response) {

    if($scope.pageNumber > response.pages){

      // hide the more news button
      $('#moreButton').fadeOut('fast');

    } else {

      $scope.items = $scope.items.concat(response.posts);
      window.localStorage.setObject('rootsPosts', $scope.items); // we save the posts in localStorage
      window.localStorage.setItem('rootsDate', new Date());
      window.localStorage.setItem("rootsLastPage", $scope.currentPage);
      window.localStorage.setItem("rootsTotalPages", response.pages);

      // For dev purposes you can remove the comment for the line below to check on the console the size of your JSON in local Storage
      // for(var x in localStorage)console.log(x+"="+((localStorage[x].length * 2)/1024/1024).toFixed(2)+" MB");

      $scope.totalPages = response.pages;
      $scope.isFetching = false;

      if($scope.pageNumber == response.pages){

        // hide the more news button
        $('#moreButton').fadeOut('fast');

      }

    }

  });

}

这是我的config.xml:

    <content src="index.html" />
<access origin="*" />

<feature name="http://api.phonegap.com/1.0/network"/>

<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="DisallowOverscroll" value="true" />
<preference name="webviewbounce" value="false" />
<preference name="android-installLocation" value="auto" />

<icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/android-icon-36x36.png"/>
<icon gap:platform="android" gap:qualifier="mdpi" src="www/res/icon/android/android-icon-48x48.png"/>
<icon gap:platform="android" gap:qualifier="hdpi" src="www/res/icon/android/android-icon-72x72.png"/>
<icon gap:platform="android" gap:qualifier="xhdpi" src="www/res/icon/android/android-icon-96x96.png"/>

<gap:splash gap:platform="android" gap:qualifier="port-ldpi" src="www/res/screen/android/small.png"/>
<gap:splash gap:platform="android" gap:qualifier="port-mdpi" src="www/res/screen/android/medium.png"/>
<gap:splash gap:platform="android" gap:qualifier="port-hdpi" src="www/res/screen/android/large.png"/>
<gap:splash gap:platform="android" gap:qualifier="port-xhdpi" src="www/res/screen/android/xhdpi.png"/>

这是“phonegap插件列表”的结果:

cordova-plugin-whitelist 1.2.2 "Whitelist"
org.apache.cordova.inappbrowser 0.5.4 "InAppBrowser"
org.apache.cordova.network-information 0.2.14 "Network Information"

任何人都可以为我找到解决方案吗?

1 个答案:

答案 0 :(得分:1)

将此配置设置添加到config.xml,以解决问题:

<allow-intent href="http://*/*" /> 
<allow-intent href="https://*/*" /> 
<allow-intent href="tel:*" /> 
<allow-intent href="sms:*" /> 
<allow-intent href="mailto:*" /> 
<allow-intent href="geo:*" />