Es wurde 2 Tage Ich stecke in einem dummen Fehler machen. Ich kann keinen Ajax Post Call machen. Kann mir jemand helfen, das zu lösen, was ich falsch mache? Es wird toll sein. Ich bekomme immer 500 interne Serverfehler. Ich weiß, was Fehler bedeutet, aber wie man es los wird. Im Folgenden meine Ajax-Funktion, die immer wieder 'nicht bestanden'Wie Ajax POST Aufruf in Visual Studio REST-API
function Add() {
var Tname = document.getElementById("TaskName").value.trim();
var Sdate = document.getElementById("StartDate").value.trim();
var Edate = document.getElementById("EndDate").value.trim();
var sms = document.getElementById("chkSMS").checked;
var email = document.getElementById("chkEmail").checked;
var assigned = document.getElementById("test").value.trim();
if (Tname == "")
{
alert("Please enter Your Task Name");
return;
}
if (Sdate >= Edate)
{
alert("Please Correct the Start And End date");
return;
}
var user = $("#test").select2("val");
console.log(user);
var model = {
id:$("#secid").val(),
projectId: $("#ProjectDropdown").val(),
task_name: $("#TaskName").val(),
description: $("#Desc").val(),
start_date: $("#StartDate").val(),
end_date: $("#EndDate").val(),
sms: document.getElementById("chkSMS").checked,
email: document.getElementById("chkEmail").checked,
status:"1",
tempUsers: user
};
console.log(model);
$.ajax
(
{
url: '/api/TaskApi/',
type: 'POST',
data: model,
dataType: "json",
success: function (data) {
alert('Task Added');
// location.reload(); // this is not a good practice
},
error: function() { alert('Task not Added'); }
});
}
[Route("/api/TaskApi/"), HttpPost]
public String CreateTask(tempTask tempTask)
{
Task task = new Task();
task.enable = true;
task.created_on = DateTime.Now;
task.task_name = tempTask.task_name;
task.description = tempTask.description;
task.start_date = tempTask.start_date;
task.end_date = tempTask.end_date;
task.status = tempTask.status;
task.sms = tempTask.sms;
task.email = tempTask.email;
db.task.Add(task);
Tagging tag = new Tagging();
tag.tasks = task;
tag.project = db.project.Find(tempTask.projectId);
List<Users> usr = new List<Users>();
for (int i = 0; i < tempTask.tempUsers.Count; i++)
{
var user = db.user.Find(tempTask.tempUsers[i]);
usr.Add(user);
}
tag.users = usr;
db.tagging.Add(tag);
if (db.SaveChanges() > 0)
{
return "task success!!";
}
else
{
return "Some Error";
}
}
EDIT: Ich brauche nur die erste Zeile Code in meiner C# Methode Create zu treffen. Ich kann es nicht treffen. Der Rest des Code- und Ansichtsmodells ist in Ordnung. Ich habe kontrolliert.
EDIT: json.strigify (Modell) // Ausgabe in Konsole { "id": "0", "projectId": "6007", "task_name": "fgfg", "Beschreibung": "fgf", "start_date": "2017-05-05", "end_datum": "2017-05-11", "sms": false, "email": true, "status": "1", "tempUsers ": [" 1003" ]}
public class tempTask
{
public int id { get; set; }
public int projectId { get; set; }
public string task_name { get; set; }
public string description { get; set; }
public DateTime start_date { get; set; }
public DateTime end_date { get; set; }
public bool sms { get; set; }
public bool email { get; set; }
public int status { get; set; }
public List<int> tempUsers { get; set; }
}
Könnten Sie nur versuchen, eine ganze Zahl vorbei und prüfen, ob seine Arbeits .. dann weiter gehen .. – Abi
können Sie Ihre modal Post .. –
Ich kann alles posten ... Sag mir welches Modal? ein bisschen ausführlich –