我没有使用过Form
元素。我没有使用表格,因为,我不想回发..请指导我如何做ajax调用,从而能够将viewmodel传递给控制器的action方法获得$.ajax吗?我的表格如下所示:
HTML:
@model comp.learn.data.Models.ProductViewModel
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
<fieldset>
<legend>ProductViewModel</legend>
<div id="CreateDiv">
<div class="editor-label">
@Html.LabelFor(model => model.ProductName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ProductName)
@Html.ValidationMessageFor(model => model.ProductName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Cost)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Cost)
@Html.ValidationMessageFor(model => model.Cost)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ProductTypeId)
</div>
<div class="editor-field">
@Html.DropDownList("ProductTypeId", "Choose item")
@Html.ValidationMessageFor(model => model.ProductTypeId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ProductTypeName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ProductTypeName)
@Html.ValidationMessageFor(model => model.ProductTypeName)
</div>
</div>
<p>
<input type="submit" value="Create" id="btnSubmit" />
</p>
</fieldset>
<div>
@Html.ActionLink("Back to List", "Index")
</div>
jQuery / JavaScript:
$.ajax(
{
url: '@Url.Action("CreateProduct","ProductManagement")',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
type: 'post',
cache: false,
data: ///what should i write here ,
success: function (data) { alert('final'); },
error: function (f1, f2, f3) { alert(f3); }
});
您应该手动从输入中收集数据,并构造与C#模型类相对应的JSON对象。例如,如果您在操作方法中等待ProductViewModel对象,则可以遵循以下示例:
var myData = {
productName: $('#ProductName').val(),
cost: $('#Cost').val(),
// .. and so on
};
$.ajax({
data: JSON.stringify(myData),
// .. the other ajax options
});
如果您具有表单元素,则更加容易。只需使用jQuery选择表单并调用serialize
方法。数据将被编码为字符串以便提交。格式也将application/x-www- form-urlencoded; charset=UTF-8
是$ .ajax默认值,您无需指定它。例:
var myData = $('#myFormId').serialize();
$.ajax({
data: myData,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
//..Other ajax options
});
问题内容: 我正在尝试在Django中使用jQuery / AJAX发布数据,并且遇到了麻烦。当我运行下面的代码并单击“测试”按钮时,整个页面将再次重新加载,这不是我想要的(这就是我使用AJAX的原因)。 我也无法确认AJAX请求正在进入Django视图。 编辑:我对return false和进行了编辑。无法加载新页面,但仍无法在该字段中看到更新的文本。我不确定是否正在发送数据。我在控制台中看到:
问题内容: 我正在尝试在Django中使用jQuery / AJAX发布数据,并且遇到了麻烦。当我运行下面的代码并单击“测试”按钮时,整个页面会再次重新加载,这不是我想要的(这就是我使用AJAX的原因)。 我也无法确认AJAX请求正在进入Django视图。 编辑: 我对return false和进行了编辑。无法加载新页面,但仍无法在该字段中看到更新的文本。我不确定是否正在发送数据。我在控制台中看到
问题内容: 我想使用$ .POST或$ .AJAX实现创建(插入)屏幕。 注意:代码无需AJAX调用即可正常工作..它已经存在..现在我需要进行ajax调用并保存而无需回发。我写了下面的代码: 在提交点击事件时,代码如下: 在服务器端: 问题是,每次它都会调用操作,但在参数param 上找不到数据。我也试图保持-视图模型作为参数,但是它没有用..只是给了我null值。同样,在ajax调用中,它成功
我通过MVVM模式和谷歌jetpack依赖性开发了一个应用程序。我有一个,它有一个我需要的方法。我有两个视图,分别是和,首先我在中创建了实例,并通过ViewModel向观察者订阅LiveData: 现在,我将在中执行操作方法,并观察 但我跟踪创建实例
问题内容: 我想将Json发布到同一服务器上的Web服务。但是我不知道如何使用JQuery发布Json。我已经尝试使用此代码: 但是使用此JQuery代码时,数据不会作为Json在服务器上接收。这是服务器上的预期数据:但是使用JQuery时,服务器receive 。换句话说,它是“ urlencoded”数据,而不是Json。 有什么方法可以使用JQuery以Json格式发布数据,而不是未编码的数
问题内容: 这与我的问题有关如何处理jQueryAJAX调用中的错误有关。一些响应建议我使用“错误”回调来显示来自jQuery AJAX调用的任何错误。我想知道如何使用ASP.NET MVC做到这一点。有没有一种方法可以让我的控制器操作返回可从“错误”回调中访问的错误?客户端代码如下所示: 问题答案: 注意:嗨,这是在ASP.Net MVC甚至达到1.0之前发布的,从那时起我什至没有研究框架。您可