トップ回答者
関数の引数をjson形式で受け取りたい

質問
-
$.ajax({
url: Url
data: params,
async: true,
success: function (data) {・・・
}
});
というjavascriptを実行し、
Public Sub test(???)
というajax対応wcfサービスの関数実行したいとかんがえています。
paramsの中は
id: {...}
flg: false
flg2: trueとなっています。
???の部分になんと書けば値を取得できるのでしょうか。
flgとflg2は、同じ名前を定義することで取得できました。
idが取得できません。
できればjsonの文字列で1つの変数に受け取りたいです。
idは
[0]: "CCCCCC"
[1]: "BBBBBBB"
length: 2が入っています。
よろしくお願いします。
回答
-
$.ajaxでサービスを呼ぶ場合はaspxにscriptmanagerみたいなのが必要でしょうか?
それは不要ですが、$.ajaxがAJAX対応WCFサービスの受け付ける形式で送信する必要があります。
- まずHTTPでどのようにAJAX通信を行うかご自身で決めます(メソッドやURL、パラメーターの表現方法など)
- 決めた内容に従うように$.ajax()の呼び出しを書きます
- 決めた内容に従うようにAJAX対応WCFサービスを構成します
1.がなく、念じただけで$.ajax()が意図通りのHTTPリクエストを送信することがありませんし、同様にAJAX対応WCFサービスが空気を読んで引数を解釈してくれることもありません。
- 回答としてマーク 絶対初心者 2011年6月13日 2:51
すべての返信
-
idは
[0]: "CCCCCC"
[1]: "BBBBBBB"
length: 2が入っています。
これはJavaScript上では次のどちらでしょうか?
- Array
["CCCCCC", "BBBBBB"] - Object
{ 0: "CCCCCC", 1: "BBBBBB", length: 2 }
たぶん前者だろうなぁ…。
# 蛇足ながら、jQueryを使う前に基となっているJavaScriptへの理解も必要ですよ。
「jsonで受け取りたい」と書かれていますが、できません。
C#なら
public void test( string[] id, bool flg, bool flgs2 ){
...
}ですが、VBだとなんだろう。
Public Sub test( ByVal id() As String, ByVal flg As Boolean, ByVal flg2 As Boolean )
うーん、ByValとかはわかってません。
- Array
-
ありがとうございます。
["CCCCCC", "BBBBBB"] です。
ByVal id As String() でやってみましたができませんでした。
そこで1つ別の問題もありそうです。
$.ajax({
url: Url
data: params,
async: true,
success: function (data) {をでバックでF10押して実行すると
success: function (data) の前にPublic Sub test(???)が実行されません。
successは戻り値を使うので関数が先だとおもっています。
Public Sub test(???)はjacascriptが終わってから実行されます。
$.ajaxでサービスを呼ぶ場合はaspxにscriptmanagerみたいなのが必要でしょうか?
-
$.ajaxでサービスを呼ぶ場合はaspxにscriptmanagerみたいなのが必要でしょうか?
それは不要ですが、$.ajaxがAJAX対応WCFサービスの受け付ける形式で送信する必要があります。
- まずHTTPでどのようにAJAX通信を行うかご自身で決めます(メソッドやURL、パラメーターの表現方法など)
- 決めた内容に従うように$.ajax()の呼び出しを書きます
- 決めた内容に従うようにAJAX対応WCFサービスを構成します
1.がなく、念じただけで$.ajax()が意図通りのHTTPリクエストを送信することがありませんし、同様にAJAX対応WCFサービスが空気を読んで引数を解釈してくれることもありません。
- 回答としてマーク 絶対初心者 2011年6月13日 2:51