Ich verwende , um Daten von einer Domäne an eine ASP.NET
Seite zu senden, die sich in einer anderen Domäne befindet. Ich bin in der Lage, die Antwort von ASP.NET
Seite zurück zu bekommen, aber ich bin nicht in der Lage, die Daten von JQuery Ajax
zu senden. Hier ist mein Code:So senden Sie Daten von JQuery Ajax an die ASP.NET-Seite?
$.ajax({
url: 'http://somewebsite/dbd/leap.aspx',
data: '{ year: "' + $('#txtYear').val() + '"}',
type: 'POST',
async: true,
cache: false,
dataType: 'jsonp',
crossDomain: true,
contentType:"application/json; charset=utf-8",
success: function (result) {
console.log("inside sucess");
console.log("result: " + result);
},
error: function (request, error) {
// This callback function will trigger on unsuccessful action
alert('Error!');
}
});
Ich kann leap.aspx
Seite erreichen. Hinweis http://somewebsite
ist nur ein Platzhalter.
leap.aspx
hat die folgende:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="leap.aspx.cs" Inherits="_Default" %>
<%=output %>
leap.aspx.cs
hat folgende: Hinweis Ich Request.Params["year"]
mit dem Wert des Jahres durch Ajax
Aufruf übergeben zu bekommen, aber kein Glück.
using System;
public partial class _Default : System.Web.UI.Page
{
public string output = "";
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Params["callback"] != null)
{
output = Request.Params["callback"] + "('" + GetData(Request.Params["year"]) + "')";
}
}
[System.Web.Services.WebMethod]
public string GetData(string year)
{
return "From outer space! " + year;
}
}
Wenn ich diesen Code ausführen, in der Konsole sehe ich
"Ergebnis: Vom Weltraum!"
aber ich sehe nicht die Daten für Jahr von Ajax
gesendet. Ich verwende JSONP
, weil ich eine domänenübergreifende Anfrage mache, um die Same Origin Policy zu umgehen. Ich bekomme keinen Fehler. Ich bekomme nur nicht den Wert des Jahres von ASP.NET
Seite erhalten.
Wie bekomme ich das Jahr?
wenn die Daten {Jahr: „2001“} Ich in vielen Fällen denken Sie, die .json wollen den Schlüssel haben, in Anführungszeichen und der Wert ... ändert sich das Format von 'data:' zu {"year": "2001"}? –