65.9K
CodeProject is changing. Read more.
Home

Jquery Cross-Domain ajax call using JSONP

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3 votes)

Oct 11, 2013

CPOL

1 min read

viewsIcon

53386

Hi everyone. We all know the role of ajax and its implementation. We can use ajax in asp.net as well as in javascript/jquery. But there is a

Hi everyone. We all know the role of ajax and its implementation. We can use ajax in asp.net as well as in javascript/jquery. But there is a limitation of same origin policy. i.e. we can only use ajax to post and get requests within our site. We can call webservices but that is from the code behind only. Even if we use any scripting language it restricts us calling a third party domain. Also over SSL javascript/jquery's ajax call gives up easily. But using jsonp with jquery's ajax api call we can target the ajax call outside the scope of our website.

$(document).ready(function() {
            var surl = "http://www.anotherdomain.com/webservice.asmx";
            $.ajax({
                type: 'GET',
                url: surl,
                crossDomain: true,
                contentType: "application/json; charset=utf-8",
                data: { UserID: 1234 },
                dataType: "jsonp",
                success: function(msg) {
                    $.each(msg, function(name, value) {
                        alert(value);
                    });
                },
                error: function(xhr, status, error) { alert('Servidor de error 404 !!'); },
                async: false,
                cache: false
            });
        });

Note:- This will only work with json data type, so while requesting a web service should return the data in Javascript Object notation format.