Theme Installer: Use JSONP for api.wordpress.org requests.

fixes #27639.

Built from https://develop.svn.wordpress.org/trunk@27961


git-svn-id: http://core.svn.wordpress.org/trunk@27791 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Andrew Nacin 2014-04-05 20:28:14 +00:00
parent 3238664215
commit 9fc1d41ec1
2 changed files with 11 additions and 20 deletions

View File

@ -317,34 +317,25 @@ themes.Collection = Backbone.Collection.extend({
request: {} request: {}
}, },
// Send Ajax POST request to api.wordpress.org/themes // Send request to api.wordpress.org/themes
apiCall: function( request, paginated ) { apiCall: function( request, paginated ) {
// Ajax request to .org API // Send tags (and fields) as comma-separated to keep the JSONP query string short.
return $.ajax({ if ( request.tag && _.isArray( request.tag ) ) {
url: 'https://api.wordpress.org/themes/info/1.1/?action=query_themes', request.tag = request.tag.join( ',' );
}
// We want JSON data // JSONP request to .org API
dataType: 'json', return $.ajax({
type: 'POST', url: 'https://api.wordpress.org/themes/info/1.1/?callback=?',
crossDomain: true, dataType: 'jsonp',
// Request data // Request data
data: { data: {
action: 'query_themes', action: 'query_themes',
request: _.extend({ request: _.extend({
per_page: 72, per_page: 72,
fields: { fields: 'description,tested,requires,rating,downloaded,downloadLink,last_updated,homepage,num_ratings'
description: true,
tested: true,
requires: true,
rating: true,
downloaded: true,
downloadLink: true,
last_updated: true,
homepage: true,
num_ratings: true
}
}, request) }, request)
}, },

File diff suppressed because one or more lines are too long