AJAX-web-Methode nicht zurückgegeben JSON
Ich rufe eine web-Methode, die in der aspx-Seite aus meiner js-Datei mit AJAX. Ich habe die Methode gesetzt werden [WebMethod] und die Seite erbt von System.Web.Ui.Seite Klasse. Noch nicht wieder das JSON-format, um meine Berufung ajax-Funktion.
Hier wird der AJAX-Aufruf in der js-Datei:
$.ajax({
type: "POST",
url: "/WebServiceUtility.aspx/CustomOrderService",
data: "{'id': '2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (message) {
ShowPopup(message);
}
});
function ShowPopup(result) {
if (result.d != "") {
request=result.d;
}
}
Und hier ist die web-Methode:
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Services;
namespace SalesDesk.Global
{
public partial class WebServiceUtility : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public string CustomOrderService(string id)
{
string result;
//code logic which sets the result value
result="some value";
return result;
}
}
}
Wenn ich F12 drücken, im Firefox-browser und überprüfen Sie die Request /Response-im Netz nennt, habe ich nicht sehen, die Registerkarte "JSON" an alle. Stattdessen sehe ich, Registerkarte "HTML".
Muss ich jegliche Antwort Header die speziell? Was genau übersehe ich hier?
EDIT: eine Lösung Gefunden. Letztlich, was funktioniert ist $.getJSON () - Aufruf mit einer callback-Funktion als Methode Erfolg, und unten ist der code in web-Seite
result = "...";
Response.Clear();
Response.ContentType = "application/json";
Response.Write(result);
Response.Flush();
Response.End();
Danke an alle für Ihre wertvollen Anregungen.
Content-type:application/json
- header an den server. Sie auch brauchen, um wieder eine richtige JSON-string.
InformationsquelleAutor Anil Soman | 2013-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese
static
zuInformationsquelleAutor iJade
Dekorieren Sie Ihre
CustomOrderService
Methode mit:Ändern Sie auch Ihre Daten zurück zu:
InformationsquelleAutor haim770
Das einzige, was ich sehe, fehlt, ist die Methode statisch ist.
Lesen Sie diesen Artikel
http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
InformationsquelleAutor user2026349
Static String.
InformationsquelleAutor Rakesh