[英]Javascript AJAX not working on ASP.NET C# and returns a 404
我有一個前端代碼,可以將POST請求發送到服務器,但由於服務器需要此信息,因此不返回任何內容。但是在Chrome的日志中,我看到了404謝謝,
加載資源失敗:服務器響應狀態為404(未找到)
以下代碼向服務器發送請求:
var data = "hi" var theIds = JSON.stringify(data); var UrlFixer = '/Process/Complete'; // Make the ajax call $.ajax({ type: "POST", url: UrlFixer, contentType: "application/json; charset=utf-8", data: { ids: theIds }, dataType: "json", success: function (result) { alert('Yay! It worked!'); }, error: function (result) { alert('Oh no :('); } });
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Quiz3 { public class Process { [HttpPost] public static void Complete(string[] ids) { String[] a = ids; } } }
您可以從下面的代碼獲得幫助以發送數據。
您不必以{ids:theIds}的形式提交字符串項。您必須將表單更改為JSON.stringify(data)。
var data = "Your Name";
$.ajax({
url: '/home/Complete',
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert(data.success);
},
error: function () {
alert("error");
}
});
而且您的課程不應簡單。 您必須具有控制器類
后端:
public class HomeController : Controller
{
[HttpPost]
public void Complete(string Name)
{
//Code ...
}
}
也許將您的ID作為ID列表發送,而不對列表進行字符串化
public static void Complete(List<T> Ids)
我設法通過以下方法將此與MVC空模板一起使用:
首先創建一個控制器(在controller文件夾中),並將其命名為'SubmitController'。現在我首先認為命名控制器並不重要,但事實證明確實如此,URL為'/ Submit'而不是'/ SubmitController'。 在C#文件中創建了一個函數,我用POST屬性(HttpPost)稱它為'Process'.URL現在是'/ Submit / Process'。在我的情況下,我需要將一個數組從客戶端傳遞到服務器,然后那是C#中用來處理它並顯示在Visual Studio的“輸出”頁面上的多余代碼。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
public class SubmitController : System.Web.Mvc.Controller
{
[HttpPost]
public PartialViewResult Process(string myArray)
{
String[] Items = myArray.Split(new char[] { ','}, StringSplitOptions.RemoveEmptyEntries);
//print
Items.ToList().ForEach(i => System.Diagnostics.Debug.WriteLine(i.ToString()));
return null;
}
}
}
// Make the ajax call
var myArray = data;
$.ajax({
type: "POST",
url: '/Submit/Process',
data: { 'myArray': myArray.join(',') },
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.