こんにちは、私はControlで自分の関数を呼び出すビルドajaxを持っています。 オーチャードのこのプロジェクト(それは新しい)は私が知っているようにmvcのようです。コントローラのURL /パスで自分の関数が見つかりません。mvc
私は関数のurl/pathに問題があります。
私は
私は'@Url.Actionに最初の値が私の関数名であることを知っている、とsecontは(コントローラ、それを自己のない)私のコントローラ名
ですが、動作しないurl: '@Url.Action("GetFilesList", "FileUpload")'
を使用している場合でそのような直接URLは、それが働いている機能するに
'http://localhost:30321/OrchardLocal/VnModule.Module/FileUpload/GetFilesList'
この私のコード: 仕事:
$.ajax({
url: 'http://localhost:30321/OrchardLocal/VnModule.Module/FileUpload/GetFilesList',
type: 'POST',
data: {
sNum: "123",
__RequestVerificationToken: token
},
success: function() {
},
error: function() {
}
});
そして、これが動作していません。
$.ajax({
url:'@Url.Action("GetFilesList", "FileUpload")',
type: 'POST',
data: {
sNum: "123",
__RequestVerificationToken: token
},
success: function() {
},
error: function (xhr) {
}
});
マイコントローラ:
namespace VnModule.Module.Controllers
{
public class FileUploadController : Controller
{
[HttpPost]
[ValidateAntiForgeryToken]
[ActionName("GetFilesList")]
public void GetFilesList(string sNum)
{
int myNumber = Int32.Parse(sNum);
}
}
}
ソウ私は確信している問題がurl: '@Url.Action("GetFilesList", "FileUpload")'
であるが、私は私が間違っているのかを理解カント。
ご意見はありますか?
それをしない:
と外部jsファイルでこのURLアクションパスを取得するには、あなたがこれを好きなことができますファイル外部のjsファイルですか? – Berkay
これはjsファイルがスクリプトフォルダにあり、制御フォルダ –
のcomtrollerです.Url.Actionはrazor htmlヘルパーであり、外部jsファイルでは機能しません。 'url: '/ FileUpload/GetFilesList''は大丈夫です。 – Berkay