Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Net MVC3 Ajax间隔post_Jquery_Ajax_Asp.net Mvc 3 - Fatal编程技术网

Jquery Net MVC3 Ajax间隔post

Jquery Net MVC3 Ajax间隔post,jquery,ajax,asp.net-mvc-3,Jquery,Ajax,Asp.net Mvc 3,我目前正在尝试使用Ajax.beginnform helper提供的相同功能,但不是通过input submit标记来实现,而是在大约30秒的时间间隔内完成 @using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "shipmentTable", OnComplete = "OnSuccess"})) 工作正常,但似乎无法将其转换为工作的jquery.ajax调用。post控制器有两个参数,一

我目前正在尝试使用Ajax.beginnform helper提供的相同功能,但不是通过input submit标记来实现,而是在大约30秒的时间间隔内完成

@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "shipmentTable", OnComplete = "OnSuccess"}))
工作正常,但似乎无法将其转换为工作的jquery.ajax调用。post控制器有两个参数,一个minDate和一个maxDate。原始URL类似于Home/Shipppments?minDate=arg1&maxDate=arg2。我尝试过以下几点:

setInterval(function () {
        $.ajax({
            type: 'POST',
            url: '/Home/Shipping',
            dataType: 'html',
            success: OnSuccess
        });
    }, 30000);
没有运气。我只是想看看有没有人能帮我。干杯

更新: 这似乎很好,只需将控制器中的参数更改为仅接受FormCollection即可

setInterval(function () {
    $.ajax({
        type: 'POST',
        data: $('form').serialize(),
        url: '/Home/Shipping',
        dataType: 'html',
        success: OnSuccess
    });
}, 30000);

我觉得所有的答案都很有效

您正在向success函数传递一个字符串。传递函数本身,如下所示:

function OnSuccess(ajaxReturnedData)
{
 alert("success");
}

setInterval(function () {
        $.ajax({
            type: 'POST',
            url: '/Home/Shipping',
            data : { param1 : "value1", param2: "value2" },
            dataType: 'html',
            success: OnSuccess
        });
    }, 30000);
或将其合并:

setInterval(function () {
        $.ajax({
            type: 'POST',
            url: '/Home/Shipping',
            data : { param1 : "value1", param2: "value2" },
            dataType: 'html',
            success: function(ajaxReturnedData){
                alert("success");
            }
        });
    }, 30000);

如果您有firebug,您可以看到Ajax调用的状态,它返回什么?是否有错误代码或成功?

您正在向成功函数传递字符串。传递函数本身,如下所示:

function OnSuccess(ajaxReturnedData)
{
 alert("success");
}

setInterval(function () {
        $.ajax({
            type: 'POST',
            url: '/Home/Shipping',
            data : { param1 : "value1", param2: "value2" },
            dataType: 'html',
            success: OnSuccess
        });
    }, 30000);
或将其合并:

setInterval(function () {
        $.ajax({
            type: 'POST',
            url: '/Home/Shipping',
            data : { param1 : "value1", param2: "value2" },
            dataType: 'html',
            success: function(ajaxReturnedData){
                alert("success");
            }
        });
    }, 30000);
如果您有firebug,您可以看到Ajax调用的状态,它返回什么?有错误代码或成功吗?

请尝试:

setInterval(function () {
        $.post('/Home/Shipping',$("form").serialize(), function(data){
  //success
}), 30000);
尝试:


你需要像这样的东西


要添加
minDate
maxDate

的值,您需要


要添加
minDate
maxDate

的值,这似乎可行,但我没有返回表单数据。请在
data
部分使用以下行:
data:$(“表单”).serialize(),
与Joe Tuskan回答的问题类似,我是否需要将表单数据放在一个普通的标记中,或者使用Html.Begin()可能?就在
标记中,或者您可以通过以下方式定义输入字段:
数据:{“input1”:$(“[name=input1name]”.val(),“input2”:$(“[name=input2name]”.val()”,
看起来大多数答案都有效,但你帮了我最多的忙,所以你得到了被接受的答案。还发现在$(“form”).submit上带有setInterval的Ajax.BeginForm()也很有效。这似乎有效,但我没有返回表单数据。在
数据部分使用以下行:
数据:$(“form”).serialize(),
与Joe Tuskan回答的问题类似,我是否需要将表单数据放在一个普通的标记中,或者使用Html.Begin()可能?就在
标记中,或者您可以通过以下方式定义输入字段:
数据:{“input1”:$(“[name=input1name]”.val(),“input2”:$(“[name=input2name]”.val()”,
看起来大多数答案都有效,但你帮了我最多的忙,所以你得到了被接受的答案。还发现在$(“form”).submit上带有setInterval的Ajax.BeginForm()也很有效。是否必须创建自己的表单标记?我是否改为使用Html.BeginForm()?是否必须创建自己的表单标记?我是否改用Html.BeginForm()呢?