Im trying to get a page talking to a webservice through jquery.
this is the jquery:
function Test(item) {
$.ajax({
type: "POST",
url: "WebService.asmx/test",
data: '{' +
'Item:"' + item + '"' +
'}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var data = jQuery.parseJSON(msg);
if (!data.error) {
alert("YES!!");
}
else {
alert("Error" + " " + data.error);
}
},
error: function (msg) {
alert('Get Details Failure: ' + msg);
}
});
};
This is the web service:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {}
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string Test(string Item)
{
JavaScriptSerializer js = new JavaScriptSerializer();
string strJSON = js.Serialize(Item);
return strJSON;
}
}
but i get his error:
System.InvalidOperationException: Request format is invalid: application/json; charset=utf-8.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
why???