Estoy intentando llamar a la función de servicio web a través del método GET usando jQuery, pero tengo un problema. Se trata de un código de servicio web:Llamar a la función de servicio web ASP.NET mediante el método GET con jQuery
[WebService(Namespace = "http://something.com/samples")]
[ScriptService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestWebService : System.Web.Services.WebService {
[WebMethod]
public string Test2()
{
string result = null;
try
{
result = "{'result':'success', 'datetime':'" + DateTime.Now.ToString() + "'";
}
catch (Exception ex)
{
result = "Something wrong happened";
}
return result;
}
}
Esa es la manera que yo llamo la función:
$.ajax({ type: "GET",
url: "http://localhost/testwebsite/TestWebService.asmx/Test2",
data: "{}",
contentType: "application/json",
dataType: "json",
error: function (xhr, status, error) {
alert(xhr.responseText);
},
success: function (msg) {
alert('Call was successful!');
}
});
método es llamado con éxito, pero la cadena resultante se cubre de etiquetas XML, así:
<string>
{'result':'success', 'datetime':'4/26/2010 12:11:18 PM'
</string>
Y me sale un error debido a esto (se llama al manejador de errores). ¿Alguien sabe qué se puede hacer al respecto?
¿Dónde está su '}' al final de la cadena JSON devuelta? –
¿Te refieres a cadena json cubierta por etiquetas XML? Creo que hice algo mal cuando lo copié desde la ventana del navegador, debería estar allí, por supuesto. –
Quizás, pero tampoco lo veo en el código del servicio web. –