为什么对于某些站点,相同的JSON请求在ionic中失败?
我使用以下代码从wordpress网站获取json: app.js为什么对于某些站点,相同的JSON请求在ionic中失败?,json,wordpress,ionic,Json,Wordpress,Ionic,我使用以下代码从wordpress网站获取json: app.js (function(){ var app= angular.module('IKKS', ['ionic','ngCordova']); app.controller('IKKSctrl',function($http, $scope){ $scope.stories=[]; $http.get('http://ikks.pergig.ir/?json=get_tag_posts&slug=feeding')
(function(){
var app= angular.module('IKKS', ['ionic','ngCordova']);
app.controller('IKKSctrl',function($http, $scope){
$scope.stories=[];
$http.get('http://ikks.pergig.ir/?json=get_tag_posts&slug=feeding')
.success(function(response){
console.log(response);
angular.forEach(response.posts, function(posts){
$scope.stories.push (posts);
});
});
});
这些代码在index.html文件中
Index.html
<ion-content class="has-header">
<div class="list">
<a class="item item-thumbnail-right"
href="{{story.url}}" target="_blank"
ng-repeat="story in stories">
<img ng-src="{{story.thumbnail}}" ng-if("story.thumbnail.startwith('http')">
<h2 class="story-title">{{story.title}}</h2>
<p>{{story.date}}</p>
</a>
</div>
</ion-content>
这些代码适用于KSRA.ir dowain,但在将其更改为IKKs.pergig.ir时会正常工作。它给出了衰减误差:
无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源“”
如果启用了CROS扩展,则会显示以下消息
app.js:9
<html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("b6e9798353d6283149378e3eea86cd42");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; document.cookie="referrer="+escape(document.referrer); location.href="http://ikks.pergig.ir/?json=get_tag_posts&slug=feeding&ckattempt=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html>
函数toNumbers(d){var e=[];d.replace(/(..)/g,函数(d){e.push(parseInt(d,16));将e}函数返回hex(){for(var d=[],d=1==参数。长度和参数[0]。构造函数==数组?参数[0]:参数,e=“”,f=0;fd[f]?“0:”)+d[f]。toString(16);返回e.toLowerCase()}var a=toNumbers(“F655BA9D0968C635B4B=Tonb4b”)(“98344C2EE86C3994890592585B49F80”),c=t数字(“b6e9798353d6283149378e3eea86cd42”);document.cookie=“u test=“+toHex(slowAES.decrypt(c,2,a,b))+”;expires=Thu,37年12月31日23:55:55 GMT;path=/“document.cookie=”referer=“+escape(document.referer);location.href=”http://ikks.pergig.ir/?json=get_tag_posts&slug=feeding&ckattempt=1“本网站需要Javascript才能工作,请在浏览器中启用Javascript或使用支持Javascript的浏览器
我不明白为什么会发生这种情况?相同的代码在一个域中运行得很好,但在另一个域中有问题
json请求还有一件事:
http://ikks.pergig.ir/?json=get_tag_posts&slug=feeding
在浏览器中运行良好。这两个域之间的唯一区别是它们的PHP版本。它似乎在较低版本(5.2和5.3)中运行json api运行得很好,返回的结果很好。我找不到其他原因。我认为信息非常清楚:“此站点需要Javascript才能工作,请在浏览器中启用Javascript或使用支持Javascript的浏览器“。您使用了哪个浏览器?或者是否有任何文件阻止javascipt运行?我使用google Chrome和Canary。如果我将this命令“''”放在地址栏上,它将显示json文件,但在ionic应用程序中,它也不起作用。如果我将域名更改为其他wordpress站点,它将在浏览器和ionic运行时结果中返回4条帖子。