Ajax Post-Parameter ist Immer Null im MVC-app

Habe ich eine einfache post, die arbeitet in einer test-app

Controller-Code

public ActionResult Delete(string Id)
{
    ... delete record ...
}

JavaScript

function delAnnouncement(id) {
    $.ajax({
        type: "POST",
        url: "@Url.Action("Delete", "Announcements")",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify({ "Id": "03d23684-098a-4ae8-8fa2-7d9ce70d63ef" }), //Hard coded for testing
        success: function (data) {
            $("#AnnouncementsPH").replaceWith(data);
        }
    });        
}

Habe ich eine einfache test-Anwendung, und es funktioniert dort.

Ich bin auf der Suche nach Ideen, was kann es in der vorliegenden Anwendung würden immer zur Folge, dass die übergebene id auf null sein.

Dinge, die ich versucht habe:

Route Info ist das gleiche zwischen den zwei Anwendungen.

Sie sind beide sichere https-websites.

Andere Formen, die auf der bestehenden website zu arbeiten, wie erwartet. Dies ist der einzige Ort, der eine javascript-post mit parameter verwendet wird. Es ist nur die neue Ansicht listet alle system-Ankündigungen.

So weit wie ich kann sagen, das HTML gültig ist.

Fiddler zeigen die Daten gesendet werden.

Ich habe versucht, einfach codieren Sie in der Id zu übergeben.

Ich habe keine Ahnung, was könnte die Ursache der Post nicht zu funktionieren.

Vielen Dank für alle Vorschläge

Edit 1: hier ist die fiddler ' Raw post

POST https://localhost:44300/Announcements/Delete HTTP/1.1
Host: localhost:44300
Connection: keep-alive
Content-Length: 39
Accept: */*
Origin: https://localhost:44300
X-Requested-With: XMLHttpRequest
Content-TypeOfNotification: application/json; charset=utf-8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
Content-Type: text/plain;charset=UTF-8
Referer: https://localhost:44300/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: jetbrains.charisma.main.security.PRINCIPAL=NmI4YmFhZTExMThjZDZkZjNmZTBhMDNiZWM4NmY3MDYzZWNiMWE3M2ZmZDM5ODMwYjViMjczN2ZkZmU3YmZlZTpyb290; TCSESSIONID=233EBE63123BA35468235F441F54D7E4; ASP.NET_SessionId=ycnx1ejeyahzipwduux2quqz; __RequestVerificationToken=FnOKGFfBZKEBX4E0KBoV9133e5KK3h9Pd_OjDzNPjv7ifMTMk5uHUPmT621hOQFyOCwW5IhdewKLPDMs2_9jY2vVwrHLYOU9f0F86mN-NoQ1; .AspNet.ApplicationCookie=V8ZnbAx_2_H1Wx946VLcQ235XplzC-uvKdw4CP7Sm8ZVnJu9pG63EuzC0ptOZZNBvzZkRjB0RJS25Pn1WHOzeQSrqoWl87keqRDS6_vMwZ9L6PgKU0rJz7OhD7eKps8l3tzR097zI5WbU_chUZFKLLw1c__rfN3Fy6BbHC1qNtgx0C86AShhG5EsNiruYqJZn-Uj7Z2h75YcZctCFniMyuzD-9RetcMjkN3_PbAJg-_urfntG9NwsMEQdBf1b3K9H3GP_wUYRhnbQdNZpuAkAEa6bVfJiHrnKFhnhLkP8BAfocbMKES1wQKbXBfcNn62cEKUu3On3lHNCNN4zEvOhxF1aDaBk-yghOtvtNkROeFTKMQFD0U-XXAf-RKm0Nwgp1Tb2Ip2U42vshDRNGXQSkOojisVUxiPmkrxDtckNycQd0br1cFSqxfeXyg3cg_vKUP1VMBQcBQxZO6MVLSCDdcpANyoE43IoLp3BHgURJZP88vF18JfVV646XGOZ3QU

Id=03d23684-098a-4ae8-8fa2-7d9ce70d63ef

Wie Sie sehen können die Id geschrieben, um den controller, nur eben nicht geparst und geliefert, um die parameter in der Methode.

InformationsquelleAutor Bob | 2014-07-31
Schreibe einen Kommentar