Click here to Skip to main content
15,884,099 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello everyone,

I have made a simple webservice in asp.net, my service.asmx file contains webmethod as :
C#
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void HelloWorld() {
      JavaScriptSerializer serializer = new JavaScriptSerializer();
        string jsonData = serializer.Serialize("Hello World");
        Context.Response.ContentType = "application/json; charset=utf-8";
        Context.Response.Write(jsonData);
        //return jsonData;
}


This webservice returns me output of "Hello World"

Now i have hosted this webservice on IIS and accessing this webservice from localhost also works very fine.

Now i have created one website in asp.net in which there is a button which invokes this webservice through AJAX and JSON

The code is :

      function invokeService() {

          $.ajax({
              url: "http://localhost/SampleService/Service.asmx/HelloWorld",
              type: "POST",
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: function (msg) {
                  alert(msg);
              },
              error: function () {
                  alert("this error");
              }
          });
          return false;
      }
<input type="button" id="btnInvokeService" value="Invoke Service" onclick ="invokeService();" />

Now the invokeService method is called of jSON but the output i am returning is "null" value..

I have also tried to change webservice webmethod with returning string value but the end result is same.

Please help me how can i achieve output in JSON alert as Hello world.. Please help me

Thanking you in advance.

Krunal
Posted

1 solution

I would recommend changing your AJAX call URL to this:
url: "Service.asmx/HelloWorld",


The reference to the local host would not bode well when published to IIS.

[EDIT]

Change your service to this:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
      JavaScriptSerializer serializer = new JavaScriptSerializer();
        string jsonData = serializer.Serialize("Hello World");
        Context.Response.ContentType = "application/json; charset=utf-8";
        Context.Response.Write(jsonData);
        return jsonData;
}
 
Share this answer
 
v2
Comments
krunalpanchalN 21-Mar-14 10:22am    
Hi Richard,

Now it tells 'this error' it means it is going to error function..Please help
Richard C Bishop 21-Mar-14 10:28am    
What is "this error"?
krunalpanchalN 21-Mar-14 10:25am    
I have also tried SampleService/Service.asmx/HelloWorld, but still says 'this error'
krunalpanchalN 21-Mar-14 10:29am    
It is just simple alert message if it reaches in error function....it means that there is some error... i have also checked the error status and it is "500" but the webservice is working very fine...
Richard C Bishop 21-Mar-14 10:41am    
Change the error function to this:
error: function (jqXHR){
alert(jqXHR.responseText);
}

This will tell you what the actual error is.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900