本質的に、私はWeb APIを構築しています.2つの引数を受け取るWebサービスにajaxを使用してクエリを実行しようとしています。私はSting(SSNs)のリストを渡す必要があり、クエリする環境を判断するために単一の文字列を渡す必要があります。 (受諾の場合は「a」、統合の場合は「i」)。RazorでAjaxコールで複数のパラメータを渡す
私はカミソリとcshtmlを使用しています。そして、これまでのところ、このセクションは私がdivから望むものを私に与えてくれました。
var pInputSssns = document.GetElementById(“SSNinput”).value;
var pTestRegion = document.GetElementById(“testRegion’).value;
ただし、そのすぐ下にあります。私は両方のこれらのパラメータをajax呼び出しに挿入しようとしています。
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8"
url: "myurl",
data:"{}",
success: function (data) {
// populate a table
}
});
私はこれを行う方法について複数の意見を聞いたことがあります。それらをJSONとしてシリアル化して、2つのJSONオブジェクトをdataパラメーターに入れることはできますか?私はまた、私はcシャープオブジェクトを渡すことができると聞いたことがあるが、私がしようとすると、私は剃刀のコードの中にいる間、html変数にアクセスすることはできません。
@{ AjaxParam ap = new AjaxParam(); ap.pInputSsns = pInputSsns;}
そこに両方を渡すのに良い方法はありますか?参考までに、ここにコントローラがあります:
[ScriptMethod (ResponseFormat = Response Format.Json)]
[System.Web.Http.HttpGet]
public JArray GetSSNAssociations([FromUri] List <string> pInputSsns, string pTestRegion)
{
\\ do something
}
みなさまを歓迎します。
よろしくお願いいたします。あなたが提供したリンクも見ておかなければなりません。私のルートは「POST」ではなく「GET」ですが、それは問題ではないと思います...? 私の唯一の質問は、あなたの3番目のコードブロックで "var model"がどうなっているかです。私はそれらの値をハードコーディングするのではない。そこで起こっていることについてちょっと混乱しました。 – Josh
私は値をハードコードしました。 Dom要素から読み込み、同じ構造を構築することができます。また、複雑なデータに対してはgetを使用しないとpostを使用することを検討する必要があります。 – Shyju
これは実際に私の問題を解決したと思います。私はCORSに問題があり、XMLHttpRequestはhttp:// localhost:64819/api/Participant/getssnassociations?{%22pInputSsns%22:[%xxxx-xx-xxxx-xxxx%22] 、%22pテスト領域%22:%22a%22}。プリフライトの応答に無効なHTTPステータスコード405があります。 だから私はそれに取り組まなければなりません。しかし、ありがとう! – Josh