2013-04-17 50 views
1

我想发送一个简单的字符串(这是xml)到控制器。我不知道为什么Visual Studio中的断点没有命中。Ajax和MVC 4(发布请求)

这里是jQuery代码:

$.ajax({ 
      type: "POST", 
      url: "BasicWizard/show", 
      data: "xml="+xmlResult, 
      success: function (data) { 
       console.log("Oh yeah !"); 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log(textStatus, errorThrown); 
      } 


      }); 

这里是我的控制器方法:

[HttpPost] 
    public ActionResult show(string xml) 

    { 
     try 
     { 
      ViewBag.xml = xml; 
      return PartialView("showXML"); 
     } 
     catch (Exception) 
     { 
      return Content("error"); 
     } 


    } 

我在控制台具有只是一个500错误。

+0

萤火虫/控制台中的任何错误? –

+0

你的控制器方法是什么样子? –

+0

我有这个:POST http:// localhost:2424/BasicWizard/show 500(内部服务器错误)jquery.min.js:130 错误undefined – Yopp88

回答

2

试试这个: -

data: "{'xml':'" + xmlResult+ "'}", 
+0

它的工作谢谢很多 !我习惯于使用MVC 3,而我写的方式正在工作,但现在我会这样做! – Yopp88

+0

请接受答案.. –

+0

不要忘记打在旁边的那个漂亮的小复选标记然后让其他人可以找到:D – Tony

0

POST数据的格式不正确。尝试传入encodeURIComponent(xmlResult)而不是xmlResult。这会逃脱=和其他字符在post值中无法正常工作。

+0

我试过了.. xml在控制器里仍然是空的 – Yopp88