Post array von strings, um die web-API-Methode

dies ist mein client-Seite ajax-Aufruf:

    var list = ["a", "b", "c", "d"];

    var jsonText = { data: list };

    $.ajax({
        type: "POST",
        url: "/api/scheduledItemPriceStatus/updateStatusToDelete",
        data: jsonText,
        dataType: "json",
        traditional: true,
        success: function() { alert("it worked!"); },
        failure: function() { alert("not working..."); }
    });

das ist chrome Netz-header:

Request URL:http://localhost:2538/api/scheduledItemPriceStatus/updateStatusToDelete

Request Method:POST

Request Headersview source

Accept:application/json, text/javascript, */*; q=0.01

Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3

Accept-Encoding:gzip,deflate,sdch

Accept-Language:en-US,en;q=0.8

Connection:keep-alive

Content-Length:27

Content-Type:application/x-www-form-urlencoded; charset=UTF-8

Host:localhost:2538

Origin:http://localhost:2538

Referer:http://localhost:2538/Pricing/ScheduledItemPrices

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11

X-Requested-With:XMLHttpRequest

Form Dataview URL-codiert

data:a
data:b
data:c
data:d

dies ist mein webapi controller-Methode:

public HttpResponseMessage UpdateStatusToDelete(string[] data)

Ergebnis:

wenn ich debug, data-parameter in UpdateStatusToDelete zurück {string[0]} anstelle der Daten:ein
Daten:b
Daten:c
Daten:d

Was mache ich falsch? Jede Hilfe wird wirklich geschätzt.

  • Hmmm, ich denke, Sie sollten eine direkte Weitergabe der list variable als Datenfeld in deinem ajax-Aufruf. Gerade jetzt, es sieht aus wie Sie sind übergeben und ein Objekt, welches ein array von strings als Mitglied Feld namens "Daten".
  • bedeutet, dass die erste Zeile kompilieren..? var list = ["a", "b", "c", "d"]? es sollte wie diese string[] list = {"a", "b", "c", "d"};
  • Ro Blick auf mein Kommentar hast du ein Tippfehler..? auch sind Sie sicher, dass der code kompiliert..?
InformationsquelleAutor Eunyoung Ro | 2013-01-08
Schreibe einen Kommentar