XML 解析錯誤:找不到根元素
阿新 • • 發佈:2017-10-26
出錯 cep llb cti rst 開發項目 Language 元素 result
大家在開發web項目的過程中,可能會遇到“XML 解析錯誤:找不到根元素”這麽一個問題,引起這個問題的原因可能有很多種,在這兒我只是跟大家分享一下我遇到一種情況。
1、項目背景描述
extjs 結合asp.net mvc4開發項目的時候出現的問題
我在客戶端通過extjs的ajax訪問後臺控制器中的action
1.1、客戶端extjs ajax代碼如下:
Ext.Ajax.request({ url: ‘Home/login‘, callback: function (options, success, response) {if (success && response.responseText) { try { eval(response.responseText); } catch (e) { var result = Ext.decode(response.responseText);if (!result.first) { alert(result.fourth); } else { alert(response.responseText); } } } } });
1.2、後臺Home控制器代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Web; using System.Web.Mvc; namespace MVCtEST02.Controllers { public class HomeController : Controller { public void login() { try { //方法體 } catch (ThreadAbortException) { } catch (Exception) { } } } }
這個時候會出現錯誤“XML 解析錯誤:找不到根元素位置:http://localhost:10697/Home/login?responderID=language&key=login&_dc=1508983761612 行 1,列 1: login:1:1”
經過我的調試發現,出錯的原因竟然是因為:控制器的login方法沒有返回值造成的
如果把控制器的代碼改成如下所示,就不會出現錯誤了:
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Web; using System.Web.Mvc; namespace MVCtEST02.Controllers { public class HomeController : Controller { public string login() { try { //方法體 } catch (ThreadAbortException) { } catch (Exception) { } } return "11111"; } }
說明:login方法只要有返回值即可,不一定是string類型,我在這裏只是舉個例子。
本人技術水平有限,如有錯誤之處,歡迎大家留言指正!
XML 解析錯誤:找不到根元素