JSONP is exactly the reason why cross-domain works. It allows you to use callbacks and get the data from there.
ie. something like the following will work to en.wikipedia.org from your domain as well:
<code> $.ajax({ url: 'http://en.wikipedia.org/w/api.php', 'data' : { format: 'json', action: 'opensearch', search: 'Hello', namespace: '0|4|10' }, dataType: 'jsonp', // adds a callback-parameter to data success: function( response ) { if ( !response || !response[0] || !response[1].length ) { return; // error or no results } alert( response[1].join( ',' ) ); // results ! } }); </code>
Op 28 mrt 2011, om 19:57 heeft SALIL P A het volgende geschreven:
i have built a simple mockup file in salilpa.com/wiki. here i have implemented the Opensearch http://www.mediawiki.org/wiki/API:Opensearch method. it has a simple form structure and on click opens a new tab with the results.
i could not ajaxify the request because of the restriction Origin http://salilpa.com is not allowed by Access-Control-Allow- Origin.
i have used jquery and plan to use it extensively once the code is hosted on wiki server
expecting valuable comments
Salil P A
On Mon, Mar 28, 2011 at 11:04 PM, Krinkle krinklemail@gmail.com wrote:
Because of that an API Sandbox may be able to be created completely client side.
The extension would contain a little bit of php to load the modules and pass interface messages, declare the .i18n files and the rest could be an OOP JavaScript module using jQuery (which is in core now) to do .post /get/ajax/getJSON and UI elements (jQuery UI).
I'm not saying we should do it completely client side, simply because we can. But if there's no need for a new API module etc. that would be nice :-)
To save some generation time, the basic html structure should probably be built server-side through subclassing SpecialPage.
-- Krinkle
Op 28 mrt 2011, om 18:43 heeft Roan Kattouw het volgende geschreven:
2011/3/28 Bryan Tong Minh bryan.tongminh@gmail.com:
That would be the best way to go. You really don't want to do this manually. Every API modules has a function getFinalParamDescription() which will give you the parameter description, including the defaults and the variable type. Best look at ApiBase::makeHelpMsgParameters() how this is handled by the documentation generator.
I said this on IRC but I'll repeat it here: the API exposes the data from getFinalParamDescription() and friends through action=paraminfo.
Roan Kattouw (Catrope)
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l