سلام من در رویداد 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 اجرا میشه.
لینک زیر رو ببینید
نمیشه مشکل رو حدس زد باید کدتون رو Trace کنید تا به مشکل برسید
به شکل زیر تست کنید
$.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'); });
این کد رو هم امتحان کردم بازم جواب نمیده میره تو تابع error
حتی خروجی webmethod را هم یک رشته تستی گذاشتم بازم بر میگرده تو تابع error
ممنون از راهنماییتون
با گذاشتن کد e.preventDefault قبل از ajax درست شد
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)