Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calling a web service from javascript and .net 2.0

Thanks all for the help, rod.

Hi All,

Is it possible to call a web service (on my localhost) from jquery in a plain html page inside an asp.net 2.0 webform application using visual studio 2005?

<script type="text/javascript">
    $(document).ready(function(){
        $('#button1').click(function(){                
            $('#targetDiv').load('http://localhost/testservice/Service1.asmx/HelloWorld',null,function(){alert('test')});
        });
    });
</script>

I'm getting a 500 error? Not sure if it's even possible to do this way?

thanks, rod

like image 542
Rod Avatar asked May 09 '26 23:05

Rod


2 Answers

By default, ASP.Net doesn't enable web methods for GET requests (which is what a data-less .load() does). Scott Guthrie has a nice blog post on how to enable GET on Web Methods.

However, keep in mind that they're disabled for a reason (security mainly), you may want to just use a $.post() instead, like this:

$('#button1').click(function(){                
  $.post('http://localhost/testservice/Service1.asmx/HelloWorld',
    function(data) { $('#targetDiv').html(data); }
  );
});

Or make .load() trigger POST with a dummy data object, like this:

$('#button1').click(function(){                
  $('#targetDiv')
    .load('http://localhost/testservice/Service1.asmx/HelloWorld', {});
});

The {} is the key, passing an object makes .load() do a POST instead of a GET.

like image 184
Nick Craver Avatar answered May 12 '26 14:05

Nick Craver


Are you sure this line is correct? http://localhost/testservice/Service1.asmx/HelloWorld Have you tried calling the webservice directly through the browser?

like image 34
Raj Avatar answered May 12 '26 14:05

Raj



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!