Метод AJAX to web не возвращает JSON

Я вызываю веб-метод на странице aspx из моего файла JS, используя AJAX. Я установил метод как [WebMethod], и страница наследуется от класса System.Web.Ui.Page. Тем не менее он не возвращает формат JSON моей вызывающей функции ajax.

Вот вызов AJAX в файле js:

         $.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;
             }
         }

А вот и веб-метод:

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;
        }

    }
}

Когда я нажимаю F12 в браузере Firefox и проверяю запрос / ответ в сетевых вызовах, я вообще не вижу вкладку JSON. Вместо этого я вижу вкладку HTML.

Нужно ли специально устанавливать заголовки ответа? Что именно мне здесь не хватает?

РЕДАКТИРОВАТЬ: нашел решение. В конечном итоге, то, что сработало, это вызов $ .getJSON () с функцией обратного вызова в качестве метода успеха, а ниже приведен код на веб-странице

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

Спасибо всем за ваши ценные предложения.

Ответы на вопрос(4)

Ваш ответ на вопрос