jquery ajax post says xxx not allowed by Access-Control-Allow-Origin
ajax, jquery
Solution
If you add `&responseencoding=JSON` to your URL you will get the response as JSON according to docs
UPDATE Working example. What I've done is that I changed to `dataType:'jsonp'` added `jsonp:'callbackname'`. Because jQuery by default calls the callback parameter `callback`, but eBay expect it to be called `callbackname`. What you have to do is add your parameters to the data map. Make sure you use the correct parameter names, check the docs and use the URL method not the header method. Hope this helps.
Problem
I was trying to call eBay FindProducts API using AJAX (`post` request) but was stuck at the following error: XMLHttpRequest cannot load http://open.api.ebay.com/shopping?callname=FindProducts. Origin http://localhost.com/test.php is not allowed by Access-Control-Allow-Origin. My code: ``` $.ajax ({ type: "POST", url: 'http://open.api.ebay.com/shopping?callname=FindProducts', dataType: ($.browser.msie) ? "text" : "xml", contentType: 'application/x-javascript', crossDomain : true, data: { 'X-EBAY-API-APP-ID' : 'ebayAppId', 'X-EBAY-API-VERSION': '771', 'X-EBAY-API-SITEID': '0', 'X-EBAY-API-REQUEST-ENCODING': 'NV', 'X-EBAY-API-RESPONSE-ENCODING': 'json', 'QueryKeywords' : '753759971632', 'MaxEntries' : '3' }, success: function (result) { alert('success'); alert(result); }, error: function (data) { alert((data)); } }) ``` How can I get through this error. I tried setting `dataType : jsonp` (I know XML is being retrieved, but to workaround the error I set it to jsonP). It works but jQuery was unable to parse the XML as the json response was expected.