2009-04-10 17 views
1

私は使用しているjQueryプラグインからURLに渡されるパラメータを取得する方法を理解しようとしています。基本的には、WebサービスにPOST ajaxリクエストを送信してURLパラメータを使用しようとしていますが、それらは常に何も返されません。私はこれが私がPOST中であるという事実と関連していると仮定しています。asp.net/jQuery.ajax POSTからURLパラメータを取得する方法

誰でもこれを達成するためのいくつかの洞察力を提供できますか?

+0

コードサンプルを提供できますか? – bendewey

答えて

0

asp.net WebFormsを使用している場合は、ScriptManagerを使用してWebサービスのJavaScriptプロキシを生成し、手動でajax呼び出しを行う代わりにそのjavascriptプロキシを使用することをお勧めします。ここでは簡単なチュートリアル/ウォークスルーWebサービスとのScriptManagerを使用するには次のとおりです。大体このようなhttp://msdn.microsoft.com/en-us/magazine/cc163354.aspx

何か:

// in html you have this 
<script src="WebService.asmx/jsdebug" type="text/javascript"></script> 

// csharp web-service like this 
[WebMethod] 
public int Add(int a, int b) { return a + b; } 


// further javascript to call it 
function CallAdd() 
{ 
    // method will return immediately 
    // processing done asynchronously 
    WebService.Add(0,6, OnMethodSucceeded, OnMethodFailed); 
} 

これは一般的にサポートされていないクエリ文字列を介してパラメータを掲示する必要性を排除する必要がありますサービスは整形式の石鹸メッセージを期待しているため、石鹸環境では

1

AJAX呼び出しでクエリ文字列パラメータを使用する理由がわかりません。非常に具体的な理由がある場合を除き、パラメータとしてWebサービスメソッドにポストするだけです。

0

こんにちは私はjQuery jqGridプラグインを使用しており、デフォルトでは5または6パラメータをURLにポストします。私はそれらのパラメータに到達することができず、いくつかのPHPの例を見て、フォーム変数からパラメータを取得する方法を示しました...私はそれができる方法があるかどうかを調べようとしていました。私はそれらをパラメータとして掲示することについて何ができるかを見ていきます。 。 。ちょうどクスクスのために、私はこれをやろうとしているのか、そうすることができるのでしょうか? ASP.NET用

+0

私はjqgridを使用します。 URLに(クエリ文字列として)ポストされません - POSTパラメータとしてすべてをポストします。だから、ASP.NETでは、たとえば、要求されたページ番号をRequest.Form( "page")として取得できるはずです。 –

0

....

あなたは、クエリ文字列パラメータでGET要求を使用している場合、あなたは

Request.QueryString["paramName"]; 
0

その後、Request["paramName"];

POSTパラメータを取得することができ、私は持っています同様の問題。

私はjQuery/jsonを使用しており、C#/ WebserviceにPOSTしています。私が作成したjson変数を読み込む方法がわかりません。

ここで(ユーザーコントロール上の)クライアント側だ:

<script type="text/javascript" language="javascript"> 
    function DoLogin() 
    { 
     var un = document.getElementById('UserNameText').value; 
     var pw = document.getElementById('PasswordText').value; 
     var info = "{ 'UserName':'" + un + "', 'Password':'" + pw + "'}"; 

     $.ajax(
     { 
      type: "POST", 
      url: "http://localhost:60876/Sitefinity/Services/Login/Login.asmx/LoginSpecial", 
      dataType: 'json', 
      data: info, 
      contentType: "application/json; charset=utf-8", 
      success: function (msg) { alert(msg.d); }, 
      error: function (msg) { alert(msg.responseText); } 
     }); 
    } 
</script> 

は、ここで、Webサービス側です:

[WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService] 
    public class Login : System.Web.Services.WebService 
    { 
     [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
     [WebMethod] 
     public string LoginSpecial() 
     { 
      // read the json variables: UserName, Password. 

      string un = HttpContext.Current.Request["UserName"] != null ? HttpContext.Current.Request["UserName"].ToString() : String.Empty; 
      // the previous isn't working for some reason. 

      return "Some message here"; 
     } 
    } 

私はWebサービスに取得していますが、私はからユーザー名/パスワードが必要ですjsonはいくつかの検証を行います。

0
string parameter = HttpUtility.ParseQueryString(HttpContext.Current.Request.UrlReferrer.Query).Get("param1"); 
関連する問題