1

json ではなく xml を返す Web サービスを呼び出しています。ここで SO に関する多くのトピックを読みましたが、実際には何も役に立ちません。

ここに私の電話があります:

<script type="text/javascript">
    $(document).ready(function() {
        $("#myabtags").tagit({
            tagSource: function(request, response) {
                $.ajax({
                    type: "POST",
                    url: "Services/ForumServices.asmx/GetTags",
                    dataType: "application/json; charset=utf-8",
                    data: { prefixText: request.term, count: 10 },
                    success: function(data) {
                        response(data);
                    }
                });
            },
            removeConfirmation: true

        });
    });
</script>

これが私のWebサービスです:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string[] GetTags(string prefixText, int count)
{
    var data = SystemContext.Instance.Tags;
    string prefixLower = prefixText.ToLower();
    return data.Where(c => c.Value.Contains(prefixLower) && c.IsVisible).OrderBy(c=>c.Value).Take(count).
        Select(c=>c.Value).ToArray();

}

これは私の応答です:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
  <string>metafor</string>
  <string>tyngdekraft</string>
</ArrayOfString>

私のweb.config:

 <handlers>
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="AjaxToolkit" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>

IIS 7.5 を使用して、ASP.NET 4.0 を実行しています。


だから私は基本的に私の呼び出しがJSONを返すことを望んでいます。

4

0 に答える 0