2008-11-15 4 views
0

Я всегда вижу код, как это в блогах:Jquery Ajax-х недвижимости Asp.Net 2,0

$.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        url: "WebService.asmx/HelloWorld", 
        data: "{}", 
        dataType: "json", 
        success: function(msg) { 
         alert(msg.d); 
        } 
       }); 

Но я думаю, что это работает только с ASP.NET 3.5. Я не мог запустить его с 2.0. Как я могу использовать такие коды в своих Приложениях?

ответ

2

Вам нужно добавить этот атрибут в свой веб-сервер класса

[System.Web.Script.Services.ScriptService] 
public class Service : System.Web.Services.WebService 

и этот атрибут для ваших функций

[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 

Вы не технически необходимо указать responseformat, как он реагирует по к формату, указанному в запросе. И вы должны указать формат в запросе.

С уважением
K

0

Я уже знаю эту статью, но это не могло мне помочь.

В моем образце приложения я использую эти коды:

мой Jquery код:

 $(document).ready(function() {    
     $('#clKaydet').click(function() { 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "WebService.asmx/HelloWorld", 
       data: "{}", 
       dataType: "json", 
       success: function(msg) { 
        alert(msg); 
       } 
      }); 

     }); 

    }); 

Мой HTML код:

<form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" /> 
    <div> 

     <input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" /> 
    </div> 

    </div> 
    </form> 

Мой Webservise Код:

<WebMethod()> _ 
Public Function HelloWorld() As String 
    Dim sText As String = "Hello" 
    Return sText 
End Function 

Есть ошибки?

0

Мы используем JQuery для всех наших манипуляций DOM, но при отправке данных на сервер, мы используем ASP.Net AJAX, чтобы воспользоваться автоматически сгенерированных прокси-классов

делает жизнь реальной простой!

0

Я думаю, что бит, который вам не хватает, заключается в том, что метод, помеченный тегом WebMethod, будет сериализовать данные как XML, а не JSON. С ASP.NET MVC вы можете вернуть JSON изначально, но если вы хотите JSON для WebMethod, вам может понадобиться написать собственный конвертер. Я бы предложил попытаться изменить тип данных для вызова AJAX на «xml» и посмотреть, работает ли это.

Я также не использую jquery для AJAX (пока), поэтому я еще не пробовал (пока).

0

В заключение, вы говорите, что я не могу использовать эти коды прямо с asp.net 2.0?

1

Если вы используете JQuery для подключения к серверу вам не нужно ScriptManager в вашем HTML.

Я думаю, что другая часть вашего кода верна. Просто удалите ScriptManager.