私はXElement
引数を受け入れることができるWebメソッドを持っています。これをjQuery Ajaxを使って呼び出したいと思います。単純なargumnets(int、stringなど)でjQuery Ajaxを使用して簡単なメソッドを呼び出すことはできますが、jQuery Ajaxを使用して複雑な型にどのように渡すかわかりません。jQueryを使ってWEBメソッドにXMLパラメータを渡す方法Ajax
するvar xmlFragment = 'AB':私はこのコードを書いた呼び出しの場合
[WebMethod]
public bool MyGetPassXML(System.Xml.XmlDocument nima)
{
try
{
if (nima == null)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
}
}
:
編集1)
私は、単純なWebサービスを持っています;
$("#Button2").click(function() {
$("#Loader").show();
$.ajax({
type: "POST",
url: "WebService.asmx/MyGetPassXML",
data: "{'nima':'" + xmlFragment + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result) {
$("#Loader").hide();
alert('OK');
}
});
});
私はFirefox
とテストにそれをしたとFireBug
で要求応答を参照してくださいが、私はこのエラーを取得:
{"Message":"Cannot convert object of type \u0027System.String\u0027 to type \u0027System.Xml.XmlDocument\u0027","StackTrace":" at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)\r\n at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)\r\n at System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary
2 rawParams)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary
2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
は私がXElement
にSystem.Xml.XmlDocument
を変更するが、再び私はこのエラーを取得します。これをどうすれば解決できますか?
あなたはXMLを使用していますか? JSONの方がはるかに簡単で、.netも同様です。 –
私はXMLを使用していましたが、XMLパラメータを渡したい – Arian
次に、XML文字列をJavascriptで手作業で連結し、AJAX呼び出しのデータとして渡す必要があります。あなたはXMLフラグメントをどうやって作成するのですか? jQueryを使用してAJAX呼び出しを配置しますか?どちらも? –