Ich versuche, einen Asmx-Service von einer HTML-Seite über JavaScript und jQuery aufzurufen. Hier mein Code für den Dienst HelloWorldTest.asmx ist:jQuery Cross-Site-Aufruf an ASMX-Dienst Rückgabewert Null
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class HelloWorldTest : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public string HelloWorld5()
{
string connetionString = null;
SqlConnection connection;
SqlDataAdapter adapter = new SqlDataAdapter();
string sql = null;
connetionString = System.Configuration.ConfigurationManager.ConnectionStrings["pollConString"].ToString();
Random _rg = new Random();
connection = new SqlConnection(connetionString);
sql = "insert into Country (OID,country_name) values('Servicecalled-" + Convert.ToString(_rg.Next(0, 99999999)).PadLeft(8, '0') + "','"+System.DateTime.Now.ToString() +"')";
connection.Open();
adapter.InsertCommand = new SqlCommand(sql, connection);
adapter.InsertCommand.ExecuteNonQuery();
return "Helloworld";
}
}
ich den Dienst in einem lokalen Server veröffentlicht haben, die in 192.168.0.124 und Port 80.
Hier ist meine HTML-Seite ausgeführt wird Code für den Client-Aufruf:
$.ajax({
type: 'GET',
url: http://192.168.0.124:80/pollservice/Services/HelloWorldTest.asmx/HelloWorld5',
processData: true,
data: {},
dataType: "json; charset=utf-8",
responseType: "",
success: function (data, textStatus, jqXHR) {
processData(data, textStatus, jqXHR);
}
});
function processData(data, textStatus, jqXHR) {
alert(' data d = ' + data.d);
}
Nun ist die Frage:
, wenn ich in den lokalen Host leite ich eine Rückkehr aus dem Dienst bekommen. Es ist eine einfache Zeichenfolge. Aber wenn ich es auf dem Server in einem LAN veröffentliche und ich vom Client-Rechner aus anrufe, bekomme ich Null-Ausgabe.
Aber interessanterweise wird das Protokoll in den Server geschrieben. Also wird die Helloworld5() -Methode von der JavaScript-Methode über $ .ajax (....) aufgerufen. Die JSON-Rückgabedaten sind jedoch im Fall des veröffentlichten Servers leer.
Warum das passiert? Ich betreibe die veröffentlichte Website im integrierten Asp.Net-Modus.
Danke Eliran. Ich habe Format JSON Zeichenfolge als Ihre Kommentare. Aber immer noch kein Fortschritt. Ich freue mich auf dieses Problem ... – Ashish