2012-09-03 173 views
1

我已經創建了一個web服務。我想使用Ajax jQuery訪問這個Web服務。我可以在同一個域上訪問。但我想從另一個域訪問這個Web服務。如何創建跨域asp.net web服務

有沒有人有一個想法如何在asp.net中創建一個跨域Web服務?在web.config文件中的任何設置,以便我從另一個域訪問它?

我的web服務

[WebService(Namespace = "http://tempuri.org/")] 
[System.Web.Script.Services.ScriptService] 
public class Service : System.Web.Services.WebService 
{ 
    public Service() { 
    } 

    [WebMethod] 
    public string SetName(string name) { 
     return "hello my dear friend " + name; 

    } 
} 

的JavaScript

$.ajax({ 
    type: "GET", 
    url:'http://192.168.1.119/Service/SetName.asmx?name=pr', 
    ContentType: "application/x-www-form-urlencoded", 
    cache: false, 
    dataType: "jsonp", 
    success: onSuccess 
}); 
+1

請按照這個線程 http://stackoverflow.com/questions/861784/how-to-call-a-web-service-from-jquery –

+0

也可以使用http://stackoverflow.com/questions/230401/how -to-的用jQuery的通話-AN-ASP網的Web服務 –

回答

0

安裝的NuGet,然後嘗試這些 這裏是Json.Net對的NuGet庫的鏈接:nuget.org/packages/Newtonsoft。 Json

using Json; 
using Newtonsoft.Json; 
using System.Xml.Serialization; 


    [WebService(Namespace = "http://tempuri.org/")] 
     [System.Web.Script.Services.ScriptService] 
     public class Service : System.Web.Services.WebService 
     { 
      public Service() { 
      } 

      [WebMethod] 
     [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
      public string SetName(string name) { 
     return JsonConvert.SerializeObject("hello my dear friend " + name, Newtonsoft.Json.Formatting.Indented); 

      } 
     }