2017-07-19 12 views
0

コントローラメソッドでブレークポイントを設定しようとしました。しかしそれはそこで止まらない。アラートは「クリック」され、次のアラートは完全に正常に機能します。しかし、コントローラメソッドは呼び出されません。どんな助けもありがとうございます。ここで私のajax呼び出しと私のコントローラメソッドです。AJAXコールがコントローラメソッドを呼び出さない - ASP.NET MVC

var Url = "@Url.Action("~/Home/Get_Location")"; 

$("#gotoloc").click(function() { 
    alert("clicked"); 
    alert(lat +" "+ lon); 
    $.ajax({ 
    type: "POST", 
    url: Url, 
    data: { 
     latitude: lat, 
     longitude: lon  
    }, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(response) { 
     alert("Hello:" + response) 
    }, 
    failure: function(response) { 
     alert(response.responseText); 
    }, 
    error: function(response) { 
     alert(response.responseText); 
    } 
    }); 
    alert("ignored"); 
}); 
public JsonResult Get_Location(double latitude,double longitude) 
{ 
    string loc = latitude + "/" + longitude; 
    return Json(loc, JsonRequestBehavior.AllowGet); 
} 
+0

であると仮定すると、動作するはずです他の 'の警告()'のいずれかが火を呼び出していますか?私は 'error'を少なくとも期待しています。コンソールにエラーがないか確認してください –

+0

コンソールを開いてエラーがないか確認してください。また、ネットワークのタブを確認してください – user8271644

+0

それは機能を見つけることができないと言います。私はShyjuが提案したように、Urlの内容を変更しましたが、今は「無効なJsonプリミティブ緯度」と警告を発しています。 –

答えて

2

あなたは間違ってUrl.Actionメソッドを使用しています。

この

var Url = "@Url.Action("Get_Location","Home")"; 

上記の過負荷を試してみてください。また2番目のパラメータとして最初のパラメータとコントローラの名前として

をアクションメソッド名を取り、私はあなたが間違ったcontentTypeのリクエストヘッダを渡している参照してください。 contentTypeヘッダーは、クライアントが送信しているデータの種類をサーバーに通知します。現在のコードでは、jsonデータを送信しています。しかし、アクションメソッドには2つのパラメータがあり、jsonシリアライザは投稿されたデータを適切にマップすることができません。したがって、サーバーから500応答が得られます。

これはjsの他のエラーがあなたのページ

var url = "@Url.Action("Get_Location","Home")"; 

$.ajax({ 
    type: "POST", 
    url: url, 
    data: { latitude: 44, longitude: 55 }, 
    success: function (response) { 
     console.log("Hello:" + response); 
    }, 
    failure: function (response) { 
     console.log(response.responseText); 
    }, 
    error: function (response) { 
     console.log(response.responseText); 
    } 
}); 
+0

他の 'alert()'コールが発射されていない場合、これが唯一の問題ではないと私は思っていますが、 –

+1

ありがとうSO MUCH!出来た! –

関連する問題