Ich habe den folgenden jQuery AJAX-Aufruf an eine ASP.Net-Seite.jQuery AJAX Aufruf zum Posten von Daten auf der ASP.Net-Seite (nicht Get, aber POST)
Wenn ich versuche, aus dem Anfrageobjekt die gebuchten Daten abzurufen, wird es nicht angezeigt. Mein aspx Seitencode ist wie folgt. Ich sende jede der geposteten Daten im JSON-Format an die Seite, aber es erscheint nicht im Code-Behind der Seite. Gibt es einige zusätzliche Einstellung in jQuery Ajax Anruf, die ich vermisse?
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "application/json";
string requestType = Request.Params["requestType"];
//populate variables from posted data
string vendorId = Request.Params["vendorId"];
string businessUnit = Request.Params["businessUnit"];
string productSegmentId = Request.Params["productSegmentId"];
string commitmentProgramId = Request.Params["programId"];
string productManagerId = Request.Params["productManagerId"];
string companyIds = Request.Params["companyIds"];
string expired = Request.Params["expired"];
}
UPDATE 1: Stephen Antwort ist der beste Ansatz für diese, vor allem der Ansatz, den Process tut. Allerdings habe ich einen kleinen Trick gefunden, der es ermöglicht, Daten in gewohnter Weise wie zB Request ["vendorId"] usw. auf ASP.Net zu stellen. Um solche Daten von einer beliebigen jQuery ajax-Anfrage aus zu veröffentlichen, müssen Sie dies einfach tun stellen Sie sicher, dass die folgenden zwei Punkte angewendet werden, um Ihre jQuery ajax-Aufruf:
- der Content-Typ sollte aus Ihrem jQuery ajax-Aufruf gelassen werden oder wenn Sie es aufnehmen möchten, dann sollte es nicht eingestellt werden zu "application/json; charset = utf-8" aber zu "application/x-www-form-urlencoded; charset = UTF-8". Der Inhaltstyp teilt der ASP.Net-Seite nach meinem Verständnis den Typ der Daten mit, die gesendet werden, und nicht den Datentyp, der von der Seite erwartet wird.
- Der Datenteil von jQuery ajax sollte die in Anführungszeichen eingeschlossenen Datennamen nicht haben. So sollten Daten: {"venorId": "AD231", "businessUnit": "123"} durch Daten ersetzt werden: {vendorId: "AD231", businessUnit: "123"}. In diesem Beispiel lauten die Datennamen vendorId und businessUnit, auf die Sie in Ihrem ASP.Net-Code-Behind mit der üblichen ASP.Net-Syntax wie Request ["vendorId"] und Request ["businessUnit"] zugreifen können.
Ich bin auch auf diese Weise versucht, alles funktioniert nicht für mich. Kann mir jemand helfen. – user1120998