Ajax调用传递一些参数

时间:2011-04-09 02:37:01

标签: jquery

我通过网页上的按钮获得了以下功能触发器。

我需要将值从文本字段传递给ajax调用。我有以下脚本但没有任何事情发生。

function sentDateToServer(){
        var runDate = $('#rundate').html();
        $.ajax({
            type: 'GET',
            url: '/clientsurvey/planner.html?runDate=' + runDate,
            success:  function(response) {

            }
            error:  function(xhr, asdf,) {

            }
        });

2 个答案:

答案 0 :(得分:2)

当你说“文本字段”时,假设你实际上是指“输入元素”,那么你应该使用val()函数来获取它的值,而不是html()来返回嵌套的HTML内容(在输入元素的情况下通常没有。)

var runDate = $('#rundate').val();

不要忘记encodeURIComponent()它,或者更好地使用$.ajax()设置中的data选项。

答案 1 :(得分:0)

首先,可能是在成功回调关闭括号后需要逗号。也许是因为这个逗号不存在,ajax函数不知道如何关闭它,因此jquery完全忽略了该函数。

其次,我同意@ Trevor关于使用/clientsurvey/planner.html?作为此请求的url的混淆,这应该是php或foxpro或其他东西。如果它是这些语言之一,那么你甚至不需要扩展名,你可以'/clientsurvey/planner?runDate='+runDate,这应该可以。

第三,在成功之前放置error回调在语法上更聪明,因为如果ajax函数抛出错误,那么在jQuery中浪费内存和读取未执行的函数的处理能力是没有意义的。

所以,你的陈述改为:

function sentDateToServer(){
    var runDate = $('#rundate').html();
    $.ajax({url: '/clientsurvey/planner?runDate=' + runDate,
        type: 'GET',
        error: function(xhr, asdf,){
            alert(xhr + "\n\n" + asdf);
        },
        success:  function(response){
            //do something
        }
    });
});