idをコントローラ(ASP.NET MVC 5)に渡して、コントローラから結果を取得したいとします。私は、次のコードを持っている: '/書籍/ GetBookById' + IDを:パラメータをAjaxに安全に渡す
function LoadBook(id) {
$.ajax({
url: '/Book/GetBookById' + id,
type: 'get',
dataType: 'json',
success: function (data) {
},
error: function (err) {
alert("Error: " + err.responseText);
}
})
}
はURLを行うには、それは安全ですか?安全でない場合は、これを行う方法はありますか?
public JsonResult GetBookById(int id)
{
// do your getting here
var yourdata = MyDataAccessClass.getBookById(id);
return new Json(yourdata, JsonRequestBehavior.AllowGet);
}
あなたのAJAX URLは次のようになります:
function LoadBook(id) {
$.ajax({
url: '/Book/GetBookById/' + id,
type: 'get',
dataType: 'json',
success: function (data) {
},
error: function (err) {
alert("Error: " + err.responseText);
}
})
}
これは "安全" であるあなたがこれを行うには、所定の方法がある
encodeURIComponent(Id)
パラメータをURLエンコードする必要があります。 – SLaks
これを行うためのRESTfulな方法を探しているなら、あなたのURLは '/ Book/[id]'や '/ Book/GetBookById/[id]'のようになります。/RESTfulではない/ Book/GetBookById?id = [id]。つまり、VSツールは自動的にあなたのためにこれを足場にすることができたと言っています。 – richb01