2017-06-26 10 views
0

私はASPとJavascriptで少し経験があります。MVC無効なURLパラメータ

私はASP.NET MVC5プロジェクトに取り組んでいると私はジャックスの呼び出しは次のように行く 方法にAjaxのコールに問題を抱えている:

 $.ajax({ 
 
      data: { 'param1': param1Id, 'Param2': param2Id}, 
 
      datatype: "json", 
 
      type: "GET", 
 
      url: "../PartSelector/SearchPart", 
 
      cache: false, 
 
      success: function(data) { 
 
       $('#SearchPart').html(data); 
 
      } 
 

 
     });

しかし、私はエラーを取得し続ける HTTP404:INTROUVABLE - URI(Uniform Resource Identifier)の要求に対応しています。 "& _ = 1498495699141" 私はどこにこれを知っていない:http://localhost:10473/Locator/PartSelector/SearchPart?param1=CR00061752&param2=6101&_=1498495699141

私のcontrolerが良い

public ActionResult SearchPart(string param1, string param2) 
{ 

} 

見えるしかし、私は奇妙なパラメータが追加されたURLを見てみたときに - (XHR)GETパラメータはから来た。

誰かが助けることができますか?スズメが言ったよう おかげ

ヒューゴ

+2

'&_ = 1498495699141'は、' cache:false'に由来します。それは無害です。 – SLaks

+0

コントローラとアクションをURLにバインドする方法が示されているコードの一部を追加します。 –

+0

このパラメータに問題はありません。コントローラがGET操作を許可していないか(HttpPost?と定義されていますか?)、またはURLが正しくありません。 – Sparrow

答えて

0

は、あなたがあなたのコントローラのアクションの上に[HttpPost]を持っているかどうかを確認する必要があります。それがある場合、AJAXはコントローラによって許可されていません。これは、 'GET'タイプです。

それ以外は私にはうまく見えます。あなたのブラウザでデバッガを開く - >ネットワークタブに行く - > ajax呼び出しを引き起こすアクションイベントをクリック - >デバッガを振り返って最新のイベント(ajax呼び出し)をクリック - >ネットワークタブに行くあなたの「params」とあなたの「応答」が言っていることを読んで、私はあなたを助けることができると思う。

0

私は最終的にそれを動作させることができました: 私は変更する必要があるAjax URLコールから;

url: "../SearchPart", 

url: "../PartSelector/SearchPart", 

そして、私は理由を理解することはできません。

私は、コールAjaxのメソッドが同じコントローラーにはないという事実と関係があると思います。