مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ghorashi

عضویت از 1395/08/16

اشکال در تابع Ajax

  • شنبه 17 تیر 1396
  • 15:07
تشکر میکنم

سلام من در رویداد onclick ، یک تابع Ajax نوشتم به شرح زیر

برای عیب یابی هم همه جای برنامه از Alert  استفاده کردم و ظاهرا همه چی درسته ولی در آخر نمیدونم چرا وارد تابع onsuccess_ 1 نمیشه

اگر ممکنه کمکم کنید.

 $("#btn_search").click(function (e) {

               var ttxt_sr = $("#search_str").val();

               $.ajax({
                   type: "POST",
                   url: "Default.aspx/Search",
                   data: "{txt: '" + ttxt_sr + "'}",
                   contentType: "application/json; charset=utf-8",
                   dataType: "json",
                   success: OnSuccess_1 ,
                   failure: function (response) {
                       alert(response.d + '------failure ----');
                   },
                   error: Error_search
               });
           });

           function Error_search(response) {
               alert(response.d + '-----------Error-------search-----------');
           };


           function OnSuccess_1(response) {

               alert('Success');  
               });
               
           };

این هم تابعی که در webform  استفاده شده و تا خط آخر به خوبی اجرا میشه

 <WebMethod(EnableSession:=True)> _
    Public Shared Function Search(ByVal txt As String) As String

        Dim con As New SqlConnection
        con.ConnectionString = ConfigurationManager.AppSettings("fara")
        con.Open()

        Dim cmd As SqlCommand = New SqlCommand("FA_Search ", con)
        cmd.CommandType = Data.CommandType.StoredProcedure

        cmd.Parameters.AddWithValue("@txt_search", Trim(txt))

        Dim ds As New Data.DataSet
        Dim da As New SqlDataAdapter(cmd)

        da.Fill(ds, "my_search")   End If

        Return ds.getxml

    End Function

همه چی به خوبی انجام میشه ولی در آخر تابع Error_search اجرا میشه.

پاسخ های این پرسش

تعداد پاسخ ها : 5 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 17 تیر 1396
  • 17:22

لینک زیر رو ببینید

ثبت داده در بانک اطلاعاتی با استفاده از jQuery و JSON توسط WebMethod

نمیشه مشکل رو حدس زد باید کدتون رو Trace کنید تا به مشکل برسید

کاربر سایت

ghorashi

عضویت از 1395/08/16

  • شنبه 17 تیر 1396
  • 17:51
تا آخر webmethod را trace کردم تمامی تابع به درستی حل میشه فقط نمیدونم چرا به مرحله ajax میرسه که اطلاعات رو نمایش بده میره تو تابع error چطور میشه یک تابع ajax یا کلا توابع جاوا را خط به خط trace کرد؟
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 17 تیر 1396
  • 17:56

به شکل زیر تست کنید

   $.ajax({
                  type: "POST",
                  url: "Default.aspx/Search",
                  data: "{txt: '" + ttxt_sr + "'}",
                  contentType: "application/json; charset=utf-8",
                  dataType: "json",
    
                  failure: function (response) {
                      alert(response.d + '------failure ----');
                  },
                  error: Error_search
              }).done(function(){
alert('test');
});

کاربر سایت

ghorashi

عضویت از 1395/08/16

  • یکشنبه 18 تیر 1396
  • 09:06

این کد رو هم امتحان کردم بازم جواب نمیده میره تو تابع error

حتی خروجی webmethod  را هم یک رشته تستی گذاشتم بازم بر میگرده تو تابع error

کاربر سایت

ghorashi

عضویت از 1395/08/16

  • یکشنبه 18 تیر 1396
  • 09:31

ممنون از راهنماییتون

با گذاشتن کد e.preventDefault قبل از ajax درست شد

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)