[英]jquery.get function url parameter
在jquery.get()函数中,第一个参数是URL,即我要检索的内容或Controller / action方法的URL。
问题是我正在构建一个asp.net-mvc应用程序,但我不确定该参数传递什么。 现在,我正在传递我的partialview.cshtml,但没有返回任何内容,不确定我是对还是错。
这就是我得到的
<div id="editor_box"></div>
<button id="add_button">add</button>
<script>
var inputHtml = null;
var appendInput = function () {
$("#add_button").click(function() {
if (!inputHtml) {
$.get('AddItem.cshtml', function (data) {
inputHtml = data;
$('#editor_box').append(inputHtml);
});
} else {
$('#editor_box').append(inputHtml);
}
})
};
</script>
另外,第二个参数“功能(数据)”是什么动作方法?
$.get
的第一个参数是将以预期数据响应的URL。 jQuery / JavaScript不在乎您拥有哪种服务器端体系结构或脚本语言。 URL是看起来像文件AddItem.cshtml
还是友好的路由(例如/User/Sandeep
,就客户端而言,这无关紧要。
对于ASP.NET,可以这样生成您的URL端点:
$.get('@Url.Action("SomeAction", "SomeController")', function (data) {
您需要从脚本中删除var appendInput = function () {
。 您正在定义一个函数,但从未调用它。 只需使用以下(更新操作和控制器)名称
<script>
var inputHtml = null;
$("#add_button").click(function() {
if (!inputHtml) {
$.get('@Url.Action("SomeAction", "SomeController")'', function (data) {
inputHtml = data;
$('#editor_box').append(inputHtml);
});
} else {
$('#editor_box').append(inputHtml);
}
});
</script>
编辑
根据您的脚本,您似乎只需要一次内容(然后将其缓存并在随后的单击中再次添加。另一种方法是首先将内容呈现在隐藏的<div>
元素内,然后在脚本中克隆内容<div>
并将其附加到DOM
<div id="add style="display:none">@Html.Partial("AddItem")</div>
$("#add_button").click(function() {
$('#editor_box').append($('add').clone());
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.