1

Web サービスを作成しました。Ajax jQuery を使用してこの Web サービスにアクセスしたいと考えています。同じドメインでアクセスできました。しかし、別のドメインからこの Web サービスにアクセスしたいと考えています。

asp.netでクロスドメインWebサービスを作成する方法を知っている人はいますか? web.config別のドメインからアクセスできるように、ファイルに設定はありますか?

私のウェブサービス

[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
});
4

2 に答える 2

0

nuget をインストールしてから、これらを試してください。nuget ギャラリーの Json.Net のリンクは次のとおりです: 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);

            } 
        } 
于 2012-09-03T09:14:34.210 に答える
0

jQuery の jsonp データ型の使用は、クロスドメイン スクリプティングを可能にするため、確かに良い選択です...しかし、これは json-with-padding であるため、Web サービスが json を返すことを確認する必要があります..

たとえば、ここで良いスターターを確認してください:http://encosia.com/asp-net-web-services-mistake-manual-json-serialization/

于 2012-09-03T10:13:10.647 に答える