基本上,我有一个HTML表单,并希望将表单中的数据传递给n asp.net mvc控制器,然后控制器将返回一个XML用于客户端操作。
这是我的初始代码:
客户端:
$(function() {
$('#btnSubmit').click(function() {
$.post('/Home/Create', $('form').serialize(), function(data) {
$('#entryForm').remove('form');
// $('#entryForm form').html(data);
alert(data);
$(data).find('Person').each(function() {
alert($(this).attr('Lastname').val());
});
}, "xml");
return false;
});
});
以下是我的Controller操作的代码:
public ActionResult Create(Person p)
{
//Person p = new Person();
//p.Lastname = lastname;
//p.Firstname = firstname;
//p.Middlename = middlename;
// this returns XML Data
return new XmlResult(p);
}
当我运行并调试时,我收到一条消息,说“attr(..)为null或不是对象。 你能帮我辨认出我在做错了什么吗? 任何建议也会很高兴,因为我仍在尝试使用ASP.NET MVC学习Web开发。
由于
最
答案 0 :(得分:0)
我意识到我做得很好,这是我为客户端更新的代码:
$(function() {
$('#btnSubmit').click(function() {
$.post('/Home/Create', $('form').serialize(), function(data) {
$('#entryForm').remove('form');
// $('#entryForm form').html(data);
$(data).find('Person').each(function() {
var $lastname = $(this).find('Lastname').text();
var $firsttname = $(this).find('Firstname').text();
var $middlename = $(this).find('Middlename').text();
// alert('<p>Lastname: ' + $lastname + '</p>');
$('<p></p>').html($lastname).appendTo('#detailsForm');
});
}, "xml");
return false;
});
});
现在,我的下一个挑战是,如何使用ASP.NET MVC向客户端发送XML文件 我可以使用JQuery来处理XML ???
由于
答案 1 :(得分:0)
public ActionResult ReturnXmlFile() {
return File( byte[] data, "text/xml" );
...
return File( string filename, "text/xml" );
...
return File( Stream filestream, "text/xml" );
}
How to create file and return it via FileResult in ASP.NET MVC?
答案 2 :(得分:0)
为什么不使用JSon Result? JQuery支持只需用“json”
替换$ .post调用中的“xml”