AJAX-web-Methode nicht zurückgegeben JSON

Ich rufe eine web-Methode, die in der aspx-Seite aus meiner js-Datei mit AJAX. Ich habe die Methode gesetzt werden [WebMethod] und die Seite erbt von System.Web.Ui.Seite Klasse. Noch nicht wieder das JSON-format, um meine Berufung ajax-Funktion.

Hier wird der AJAX-Aufruf in der js-Datei:

         $.ajax({
                 type: "POST",
                 url: "/WebServiceUtility.aspx/CustomOrderService",
                 data: "{'id': '2'}",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 success: function (message) {
                     ShowPopup(message);
                 }
               });
         function ShowPopup(result) {
             if (result.d != "") {
                 request=result.d;
             }
         }

Und hier ist die web-Methode:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Services;

namespace SalesDesk.Global
{
public partial class WebServiceUtility : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

        [WebMethod]
        public string CustomOrderService(string id)
        {
            string result;
            //code logic which sets the result value
            result="some value";

            return result;
        }

    }
}

Wenn ich F12 drücken, im Firefox-browser und überprüfen Sie die Request /Response-im Netz nennt, habe ich nicht sehen, die Registerkarte "JSON" an alle. Stattdessen sehe ich, Registerkarte "HTML".

Muss ich jegliche Antwort Header die speziell? Was genau übersehe ich hier?

EDIT: eine Lösung Gefunden. Letztlich, was funktioniert ist $.getJSON () - Aufruf mit einer callback-Funktion als Methode Erfolg, und unten ist der code in web-Seite

        result = "...";
        Response.Clear();
        Response.ContentType = "application/json";
        Response.Write(result);
        Response.Flush();
        Response.End();

Danke an alle für Ihre wertvollen Anregungen.

Sie müssen die Content-type:application/json - header an den server. Sie auch brauchen, um wieder eine richtige JSON-string.

InformationsquelleAutor Anil Soman | 2013-07-02

Schreibe einen Kommentar