2013-02-18 4 views
0

Я пытаюсь реализовать ajax с помощью jQuery.Its в первый раз, когда я использую ajax.so нажатием кнопки, мне нужно отобразить текущее время. Для этого, я пишу код, приведенный нижереализация ajax с использованием jquery

// ============== ASPX страницу ===============

<script type="text/javascript"> 

    $(document).ready(function(){ 
     var Button1 = $("#Button1"); 
     var Label1 = $("#Label1"); 
     Button1.click(function(){ 
      $.ajax({ 
       type: "POST", 
       url: "/myownajax14/WebService/WebService1.asmx/GetDateTime", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (msg) { 
        $("#Label1").text(msg.d); 
        //alert('hi'); 
        }, 
       error:alert('error');  
      });  

     }); 
    }); 

//================asmx.cs страница ===========

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
[System.Web.Script.Services.ScriptService] 
public class WebService1 : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public string GetDateTime() 
    { 
     return DateTime.Now.ToString(); 
    } 
} 

Моя проблема в том, он не дает ответа..и он не показывает никакой ошибки.Проблема в этом коде? Пожалуйста, помогите мне ..

+0

Сначала вы должны отследить свой запрос с помощью FireBug –

+0

. Вы можете отладить это, чтобы точно увидеть, где проблема. Например, при отладке через VS поместите контрольную точку в методе и посмотрите, попадает ли она. Если это так, то javascript, чтобы назвать это нормально, так что проблема должна быть после. Кроме того, просмотрите вкладку «Сеть» в инструментах разработчика вашего браузера, чтобы узнать, действительно ли происходит запрос на сервер. Если нет, то проблема связана с кодом, вызывающим метод. Каким бы ни был результат, вы узнаете много о том, в чем проблема (или нет), отлаживая ваши инструменты. –

+0

попробуйте следующее: 'Button1.click (function (e) {e.preventDefault()' и использовать функцию ошибки 'error: function() {alert ('error')};' – Jai

ответ

0

У меня тоже была аналогичная проблема. Попробуйте просто:

Необходимо указать атрибут type="button".

+0

@Downvoter осмелится прокомментировать. – coder

+0

Вот такая же проблема, что я испытал http://stackoverflow.com/questions/10567951/simple-ajax-call-not -рабочая-с-но ton-click – coder

+0

Я попробовал it.but все равно это не сработало .. – Pearl90

0

contentType: "application/json;" означает, что клиенту нужен сервер для ответа на данные типа json. Но вместо этого сервер отвечает на строку типа 1.

В блоке «success» «msg» должен быть как «2010-10-10», поэтому ошибка возникает в msg.d.

попробуйте следующее для данных типа строки или ответьте на данные типа json в код сервера, например {"y": 2010, "m": 10, "d": 10}.

contentType: "application/text; charset=utf-8", 
success: function (date) { 
    $("#Label1").text(date); 
} 
+0

Я попробовал ... но результат такой же .. – Pearl90

0

Вы пытались получить доступ к ASMX напрямую с помощью браузера? Таким образом, вы можете легко увидеть, какой ответ производит ваш ASMX ...

Смежные вопросы