I am trying to invoke a cross-domain web service through jquery call $.ajax()
The service returns
<?xml version="1.0" encoding="utf-8"?>
<double xmlns="http://www.webserviceX.NET/">1.4248</double>
If I specify dataType xml (or not specifying anything - jquery guesses correctly), I am getting XML Parsing Error: no element found Location: moz-nullprincipal:{4030734c-b902-4251-9067-1d1b5b15fc72} Line Number 1, Column 1:
error (looks like nothing is coming back from the service). However, if I specify dataType jsonp
or script
- I can see in firebug that everything is coming back correctly; however jquery apparently tries to eval the results and gives me corresponding error (missing semicolon or similar).
Is there a way in jQuery to enable cross-domain call and not evaluate it?
Notes:
Cross domain ajax is only allowed for JSONP, not XML
In JQuery 1.5 they added the crossDomain:true
parameter which simply appends a ?callback=>
value to the url
. If you set that parameter, you must also set dataType:'json'
. The cross-domain URL must also support JSONP and be serving up your expected data as such.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With