2014-09-29 38 views
0

朋友們,我是這個jQuery ajax調用的新手。 我想插入數據到數據庫沒有回發。 目前它與回發工作,請找到錯誤和幫助。 這裏我已經使用jQuery ajax調用,在這裏我得到的數據和 傳遞給web服務在後臺插入記錄 沒有回發,但它會得到回發和插入記錄。使用JQuery插入記錄到數據庫Ajax調用不起作用

這裏我只用了三條記錄來進行測試。

Default.aspx的CODE

<head runat="server"> 
    <title></title> 
    <script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#btnsubmit').click(function() { 
       var firstname = $('#txtfirstname').val(); 
       var lastname = $('#txtlastname').val(); 
       var occupation = $('#txtoccupation').val(); 

       $.ajax({ 

        type: 'POST', 
        contentType: "application/json; charset=utf-8", 
        url: 'Default.aspx/savedata', 
        data: "{'firstname':'" + firstname + "','lastname':'" + lastname + "','occupation':'" + occupation + "'}", 
        async: false, 
        success: function (response) { 
         $('#txtfirstname').val(''); $('#txtlastname').val(''); $('#txtoccupation').val(''); 
         //alert("Record saved successfully in database"); 
        }, 
        error: function() { 

         alert("some problem in saving data"); 
        } 
       }); 
      }); 
     }); 
    </script> 
</head>  
</html>  

Default.aspx.cs代碼

public partial class _Default : System.Web.UI.Page 
{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    public static string savedata(string firstname, string lastname, string occupation) 
    { 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()); 
     try 
     { 
      SqlCommand cmd = new SqlCommand("Insert into profileinfo values('" + firstname + "','" + lastname + "','" + occupation + "')", con); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 
      return "Success"; 

     } 
     catch(Exception ex) 
     { 
      return "failed"; 
     } 
    } 
    protected void btnsubmit_Click(object sender, EventArgs e) 
    { 

    } 
} 
+0

好教程:在asp.net C#中使用jQuery Ajax將數據插入或保存到數據庫中。請訪問http://codepedia.info/2016/01/insert-data-using-jquery-ajax-in-asp-net-csharp-database-ms-sql-server/ – 2016-02-19 12:32:22

回答

0

請試試這個

第1步:

添加名稱空間:

using System.Web.Services; 

[WebMethod] 
public static string savedata(string firstname, string lastname, string occupation) 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()); 

    try 
    { 
     SqlCommand cmd = new SqlCommand("Insert into profileinfo values('" + firstname + "','" + lastname + "','" + occupation + "')", con); 
     con.Open(); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 

     return "Success"; 
    } 
    catch(Exception ex) 
    { 
     return "failed"; 
    } 
} 

在JavaScript,請嘗試這個

$(document).ready(function() { 
      $('#btnsubmit').click(function() { 
       var firstname = $('#txtfirstname').val(); 
       var lastname = $('#txtlastname').val(); 
       var occupation = $('#txtoccupation').val(); 

       $.ajax({ 

        type: 'POST', 
        contentType: "application/json; charset=utf-8", 
        url: 'Default.aspx/savedata', 
        data: "{'firstname':'" + firstname + "','lastname':'" + lastname + "','occupation':'" + occupation + "'}", 
        async: false, 
        success: function (response) { 
         $('#txtfirstname').val(''); $('#txtlastname').val(''); $('#txtoccupation').val(''); 
         //alert("Record saved successfully in database"); 
        }, 
        error: function() { 

         alert("some problem in saving data"); 
        } 
       }); 
      return false; //Plese return false in your js 
      }); 
     }); 
+0

已經添加了這個命名空間,但它與回發 – Prasanth 2014-09-29 11:12:23

+0

嗨,以避免回發使用按鈕單擊事件返回false。 – 2014-09-29 11:14:02

+0

它不工作,因爲它的返回類型是void – Prasanth 2014-09-29 11:15:53

0

如果您使用的是帶有類型的輸入按鈕= 「提交」 或ASP:按鈕與RUNAT = 「服務器」 將其更改爲

<input type="button" id="btnsubmit" value="TextHere"> 

也改變你這樣的錯誤功能它會給你如果有的確切的錯誤

error: function (err) { 

        alert(JSON.stringify(err))); 
       } 

而且也沒有必要這個功能,如果你正在使用AJAX

protected void btnsubmit_Click(object sender, EventArgs e) 
{ 

} 
0

添加使用System.Web.Services名字空間; 然後添加[webmethod] befor你的靜態字符串function.It將工作。

相關問題