Wie kann ich die sende-Parameter in der http-Anforderung mit AngularJS?

Ich bin mit dem folgenden code:

$http({
    method: 'GET',
    url: '/Admin/GetTestAccounts',
    data: { applicationId: 3 }
}).success(function (result) {
    $scope.testAccounts = result;
});

Den code sendet den folgenden zu meinem server:

http://127.0.0.1:81/Admin/GetTestAccounts

Wenn diese empfangen wird durch meine MVC-controller:

[HttpGet]
public virtual ActionResult GetTestAccounts(int applicationId)
{
    var testAccounts =
        (
            from testAccount in this._testAccountService.GetTestAccounts(applicationId)
            select new
            {
                Id = testAccount.TestAccountId,
                Name = testAccount.Name
            }
        ).ToList();

    return Json(testAccounts, JsonRequestBehavior.AllowGet);
}

Beschwert es sich, dass es keine applicationId.

Den Parameter-dictionary enthält einen null-Eintrag für den parameter 'applicationId' nicht-nullable-Typ 'System.Int32' - Methode

Kann mir jemand erklären, warum die applicationId nicht gesendet werden, da ein parameter? Bisher war mir dies mit den folgenden non-Angular-code, und es hat Prima funktioniert:

$.ajax({
    url: '/Admin/GetTestAccounts',
    data: { applicationId: 3 },
    type: 'GET',
    success: function (data) {
        eViewModel.testAccounts(data);
    }
});
Funktioniert diese Hilfe? stackoverflow.com/questions/10520174/...
Ich sah den link, den Sie gab mir, und ich bin noch mehr verwirrt jetzt 🙁
Blick auf die url in der browser-Konsole Registerkarte "Netzwerk" .. wie sieht es aus?
haben Sie versucht, mit jQuery param $.param({ applicationId: 3 })?
warum gehst du nicht Anhängen Anwendungs-id direkt in der url im query string

InformationsquelleAutor Alan2 | 2013-03-29

Schreibe einen Kommentar