2012-01-07 30 views
3

私は既にこのトピックについて多くの投稿をしていますが、私はWebMethodにデータを渡す方法を理解できません! 1つの文字列データをWebMethodに渡すだけですが、リストデータ型を使用する必要がありますか?WebMethodへのjqueryデータの受け渡し

の.js

function buttonClicked() { 
$.ajax({ 
    type: "POST", 
    dataType: "json", 
    contentType: "application/json", 
    url: "Chat.aspx/send", 
    data: "{'text':'" + $("#writeBox").val() + "'}", 
    success: function() { 
    }, 
    error: function() { 
    } 
}); 
} 

(フルコードで更新).aspxのは//私はあなたがどのようなエラーが出るんエラー

[System.Web.Services.WebMethod] 
void send (string text) { 
    string id = HttpContext.Current.Request.Cookies["id"].ToString(); 
    string queryString = "INSERT INTO Log (ID, Text, Date) Values (" + id + ", " + text + ", GETDATE())"; 
    System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLExpress;Initial Catalog=ChatV1;Integrated Security=True"); 
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(queryString, con); 
    using (con) 
    { 
     con.Open(); 
     //cmd.ExecuteNonQuery(); 
    } 
} 
+0

を負う部分をコメントアウト? – Rafay

+0

あなたは正しいのですが、あなたの問題は何ですか? –

+0

Chromeのjavascriptコンソールで500インターネットサーバーのエラーが表示されます。 –

答えて

2
[System.Web.Services.WebMethod] 
public static void send (string text) { 
    string id = HttpContext.Current.Request.Cookies["id"].ToString(); 
    string queryString = "INSERT INTO Log (ID, Text, Date) Values (" + id + ", " + text + ", GETDATE())"; 
    System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLExpress;Initial Catalog=ChatV1;Integrated Security=True"); 
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(queryString, con);   
     con.Open(); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
} 
+0

Cookieを取得するためにRequest.Cookiesコレクションを使用する必要があるため、静的メソッドを使用できません。私は静的メソッドでコレクションを使用することができないことを知った:( –

+0

ajaxリクエストを呼び出すための戦略を変更するPHPスタイルを使用してajaxリクエストを呼び出す(私は他のWebページを使用して、 –

+2

@SiYoungKim静的メソッドのクッキーコレクションにアクセスするためにHttpContext.Current.Request.Cookiesを試しましたか? – Pavan