這是我的JQuery AJAX調用。這是在document.ready()函數內部。推測這是一個將讀取將WebMethod在我的web服務返回的XML數據:如何將xml數據從webservice返回到jquery ajax從webform調用
$.ajax({
type: "POST",
url: "http://tempuri.org/NewsletterList.asmx/HelloWorld",
contentType: "application/xml; charset=utf-8",
dataType: "xml",
success: function (xml) {
$(xml).find('Newsletter').each(function() {
var title = $(this).find('Title').text();
var created = $(this).find('Created').text();
AddOption(title);
alert('Ywes');
});
},
error: function (msg, m2, m3) {
alert(m2);
}
});
這是我的web服務我的webmethod電話。我能夠完全創建xml成功,但我發現難以將xml返回給ajax調用。
[WebService(Namespace = "http://tempuri.org/")]
.
.
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XmlDocument HelloWorld()
{
//Instantiate model object
nl = new Newsletter();
//Initiate XML stuff
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
XmlWriter writer = XmlWriter.Create(sb, settings);
writer.WriteStartDocument();
writer.WriteStartElement("Root");
foreach (Newsletter nls in nl.GetNewsletterList())
{
writer.WriteStartElement("Newsletter");
writer.WriteElementString("Title", nls.Title);
writer.WriteElementString("Created", nls.Created.ToString());
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(sb.ToString());
return xmlDocument;
}
謝謝,它沒有自動序列化我的對象,但是,它仍然失敗,當它到達JQuery的一部分,我試圖提醒參數拋出我的錯誤:函數,但只有第二個有文本,它只是說'錯誤' – Nizzy
我不相信jquery的目的是遍歷任何ol html fyi我相信你需要使用$ .parseXml http://api.jquery.com/jQuery.parseXML/ – bluetoft
如果你使用像firebug或chrome開發工具這樣的網絡檢查器,網絡請求是什麼樣子的?您是否碰到了您的成功方法或您的錯誤方法? – bluetoft