Fat*_*510 2 ajax asp.net-mvc jquery
我的页面上有一个简单的表单,其中包含一个调用此javascript方法的文本框和按钮
onclick="Create();"
Run Code Online (Sandbox Code Playgroud)
这是运行的功能......
function Create() {
var txt = document.getElementById("longTxt").value;
if (txt == "Insert Name") {
alert("You must provide a name");
return;
}
var data = { Name: txt };
$.post("/Home/Create", data, null, "json");
}
Run Code Online (Sandbox Code Playgroud)
调用的操作将名称插入数据库并返回一个字符串.
该方法可以将发布的名称添加到我的数据库,但是如何使用该字符串,我的方法返回以在我的文本框中显示返回的字符串.
编辑:
什么是我的方法,假设看起来像我有类似的东西
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Create(string name)
{
string hash = repo.addName(name);
return new JsonResult()
{
Data = new { data = hash }
};
}
Run Code Online (Sandbox Code Playgroud)
当我添加断点并检查它看起来它是否正常工作它确实添加了名称.使用回调函数,因为我替换了
$("#longUrl").val(json.PropertyReturned);
Run Code Online (Sandbox Code Playgroud)
带警报(json.PropertyReturned); 看看是否有任何事情发生,我得到文本框,但它说"未定义"
即时通讯真的很新,也许我正在做这个方法并返回错误.在输入"json"后弹出时,intelisense也不显示"json.PropertyReturned"作为选项.
提供一个回调函数作为post调用的第三个参数,它将获取方法返回的值并将其放入文本框中.
$.post("/Home/Create", data, function(json,textStatus) {
$("#longTxt").val( json.data );
},"json");
Run Code Online (Sandbox Code Playgroud)
如果您还需要处理错误,可能需要查看使用$ .ajax().
编辑:您应该使用控制器的Json方法,而不是使用默认构造函数构造结果.它更方便.
return Json( new { data = hash } );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1978 次 |
| 最近记录: |