I read the recent thread on cross-domain AJAX problems with Wikipedia’s API but I’m still having problems. I’m getting the following error:
XMLHttpRequest cannot load https://en.wikipedia.org/w/api.php?action=query&list=recentchanges&f.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://vispo.com' is therefore not allowed access.
That results after I make the following call: $.ajax({url:url, success:ajaxSuccess, error:ajaxError});
where url is the above url, ajaxSuccess is a function, and so is ajaxError. I also wrote an accessible function fooblah but it doesn’t get called.
Please advise.
------------------------------------------------------------------------------------------------------------- Brad wrote:
There is a whitelist, stored in the configuration variable $wgCrossSiteAJAXdomains in CommonSettings.php. This file can be viewed at [1], or in revision control at [2].
You can query anonymously using JSONP (e.g. [3]), or by querying from your own server rather than from a webpage. If you are going to be querying from a webpage, do review the API Etiquette page.[4]
[1]: https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php
[2]:
https://git.wikimedia.org/blob/operations%2Fmediawiki-config.git/master/wmf-...
[3]:
https://et.wikipedia.org/w/api.php?action=query&list=recentchanges&f...
Hello!
I got my queries working with the following code. Try removing your callback parameter from the url and try this:
$.ajax({ 'url': url, 'dataType': 'jsonp', 'cache': true, 'success': ajaxSuccess, 'error': ajaxError });
Kristian K
08.09.2014 20:34, jim andrews kirjutas:
I read the recent thread on cross-domain AJAX problems with Wikipedia’s API but I’m still having problems. I’m getting the following error:
XMLHttpRequest cannot load https://en.wikipedia.org/w/api.php?action=query&list=recentchanges&f.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://vispo.com' is therefore not allowed access.
That results after I make the following call: $.ajax({url:url, success:ajaxSuccess, error:ajaxError});
where url is the above url, ajaxSuccess is a function, and so is ajaxError. I also wrote an accessible function fooblah but it doesn’t get called.
Please advise.
Brad wrote:
There is a whitelist, stored in the configuration variable $wgCrossSiteAJAXdomains in CommonSettings.php. This file can be viewed at [1], or in revision control at [2].
You can query anonymously using JSONP (e.g. [3]), or by querying from your own server rather than from a webpage. If you are going to be querying from a webpage, do review the API Etiquette page.[4]
[2]:
https://git.wikimedia.org/blob/operations%2Fmediawiki-config.git/master/wmf-...
[3]:
https://et.wikipedia.org/w/api.php?action=query&list=recentchanges&f...
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
Hi Kristian,
Thanks for your help. I have removed the callback parameter (and the format=jsonfm) from the below url and have also changed the $.ajax call as you advise. Consequently, I am no longer getting the error I previously was. However, I am getting the below error:
Resource interpreted as Script but transferred with MIME type text/html: "https://en.wikipedia.org/w/api.php?action=query&list=recentchanges&g...". jquery-1.11.0.min.js:4 Refused to execute script from 'https://en.wikipedia.org/w/api.php?action=query&list=recentchanges&g...' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
I am getting this error both locally and after I upload to my real server. Please advise.
ja
On Sep 8, 2014, at 9:52 PM, Kristian Kankainen kristian@eki.ee wrote:
Hello!
I got my queries working with the following code. Try removing your callback parameter from the url and try this:
$.ajax({ 'url': url, 'dataType': 'jsonp', 'cache': true, 'success': ajaxSuccess, 'error': ajaxError });
Kristian K
08.09.2014 20:34, jim andrews kirjutas:
I read the recent thread on cross-domain AJAX problems with Wikipedia’s API but I’m still having problems. I’m getting the following error:
XMLHttpRequest cannot load https://en.wikipedia.org/w/api.php?action=query&list=recentchanges&f.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://vispo.com' is therefore not allowed access.
That results after I make the following call: $.ajax({url:url, success:ajaxSuccess, error:ajaxError});
where url is the above url, ajaxSuccess is a function, and so is ajaxError. I also wrote an accessible function fooblah but it doesn’t get called.
Please advise.
Brad wrote:
There is a whitelist, stored in the configuration variable $wgCrossSiteAJAXdomains in CommonSettings.php. This file can be viewed at [1], or in revision control at [2].
You can query anonymously using JSONP (e.g. [3]), or by querying from your own server rather than from a webpage. If you are going to be querying from a webpage, do review the API Etiquette page.[4]
[2]:
https://git.wikimedia.org/blob/operations%2Fmediawiki-config.git/master/wmf-...
[3]:
https://et.wikipedia.org/w/api.php?action=query&list=recentchanges&f...
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
On 9/9/14, 12:10 AM, jim andrews wrote:
Hi Kristian,
Thanks for your help. I have removed the callback parameter (and the format=jsonfm) from the below url and have also changed the $.ajax call as you advise. Consequently, I am no longer getting the error I previously was. However, I am getting the below error:
Actually you should pass format=json if you want JSON to be returned. If no format parameter is specified, the API defaults to "xmlfm", which is an HTML representation of the XML format. See https://www.mediawiki.org/wiki/API:Data_formats#Output for some more details.
-- Legoktm
Hi Legoktm,
Did you note
$.ajax({ 'url': url, 'dataType': 'jsonp', 'cache': true, 'success': ajaxSuccess, 'error': ajaxError });
I presume the ‘dataType’:’jsonp’ inserts some parameter in the URL that sets the format. To jsonp.
ja
On Sep 9, 2014, at 1:14 AM, Legoktm legoktm.wikipedia@gmail.com wrote:
On 9/9/14, 12:10 AM, jim andrews wrote:
Hi Kristian,
Thanks for your help. I have removed the callback parameter (and the format=jsonfm) from the below url and have also changed the $.ajax call as you advise. Consequently, I am no longer getting the error I previously was. However, I am getting the below error:
Actually you should pass format=json if you want JSON to be returned. If no format parameter is specified, the API defaults to "xmlfm", which is an HTML representation of the XML format. See https://www.mediawiki.org/wiki/API:Data_formats#Output for some more details.
-- Legoktm
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
It doesn't.
As pointed out by Legoktm, you have to specify the format to receive json. The original URL should work without the callback function specified (jquery does this automatically when dataType is specified to jsonp).
Kristian
09.09.2014 11:14, Legoktm kirjutas:
On 9/9/14, 12:10 AM, jim andrews wrote:
Hi Kristian,
Thanks for your help. I have removed the callback parameter (and the format=jsonfm) from the below url and have also changed the $.ajax call as you advise. Consequently, I am no longer getting the error I previously was. However, I am getting the below error:
Actually you should pass format=json if you want JSON to be returned. If no format parameter is specified, the API defaults to "xmlfm", which is an HTML representation of the XML format. See https://www.mediawiki.org/wiki/API:Data_formats#Output for some more details.
-- Legoktm
Mediawiki-api mailing list Mediawiki-api@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-api
mediawiki-api@lists.wikimedia.org