控制器未接收数据
Controller not receiving data?
我正在尝试使用 POST 将数据从视图发送到控制器,但我似乎不起作用。
这是我的代码(javascript函数):
function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
var titre = str;
xmlhttp.open("POST", "CheckReturn", true);
//xmlhttp.send(titre);
xmlhttp.send({"titre":titre});
}
}
触发它的 HTML :
<div id="check-name" class="form-row">
<input id="name" type="text" name="name" placeholder="Titre de l'événement" onkeyup="showHint(this.value)">
<span id="txtHint"></span>
</div>
最后,控制器应该得到它:
[HttpPost]
public ActionResult CheckReturn(string titre)
{
var contexte = new intranetEntities();
var ajax = contexte.evenementiel.SqlQuery("Somequery" + titre);
ViewBag.ajax = ajax;
return PartialView();
}
我检查了位Firebug,数据已发送,但是使用Visual Studio的调试器,我看到"titre"始终保持为空。
我能做什么?
我
过去遇到过类似的事情 asp.net 但我从未真正尝试过了解正在发生的事情。为我修复它的方法是:
在后端的某个地方创建一个新类(任何地方,暂时无关紧要)
class TitreWrapper {
public string titre {get; set;}
}
然后在您的控制器中
[HttpPost]
public ActionResult CheckReturn(TitreWrapper titreWrap)
{
string titre = titreWrap.titre;
}
根据我以前的经验,这应该有效
最高答案是错误的(但我认为在其他情况下是正确的)
对于此问题,以下工作:
xmlhttp.open("POST", "/CheckReturn?titre=" + titre, true);
然后只是
xmlhttp.send();
或
xmlhttp.open("POST", "CheckReturn", true);
然后
xmlhttp.send("titre=" + titre);
相关文章:
- 在控制器和数据对象之间同步数据
- 将不在模型中的数据返回到mvc控制器
- 通过连线将数据从js发送到控制器
- ng绑定和ng href问题.ng href未从控制器加载数据
- 尝试从控制器加载带有json数据的Simile时间线
- 如何将角度输入指令数据传递给控制器
- 使用服务(AngularJS)在控制器之间共享数据
- 模型数据未通过窗体传播到控制器ASP.NET MVC4
- 从控制器返回到Ajax的数据混乱
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- 使用2个控制器管理工厂JSON$http数据
- 使用Angularjs在两个不同页面的控制器之间共享数据
- 将工厂服务数据发送到控制器,以便在视图中使用
- 2ng控制器,并且需要在控制器之间共享数据
- 如何正确地将数据从自定义服务传递到角度控制器
- 在控制器angular js之间共享数据
- 将数据从Javascript传递到Laravel控制器
- JQuery$.ajax()发布数据以调用我的控制器中的方法
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 如何使用ajax调用获取数组列表数据(将数组列表数据控制器传递给ajax方法)