我应该如何在jquery ajax中将多个变量传递给url?

时间:2017-01-21 12:53:32

标签: javascript php jquery ajax

我试着在下面的方法中传递多个值,但我无法让它工作。什么是正确的语法? 我试过了

data: ('keyword='+$(this).val(),'id='10),

data: {'keyword='+$(this).val(),'id='10},

data: {'keyword='+$(this).val(),'&id='10}//I have also tried to replace the curly braces with brackets.

这样可行,所以我认为它是一个语法问题?

data: ('keyword='+$(this).val())

这是我的完整要求。我正在使用GET,我尝试使用POST无济于事。

$.ajax({
    type: "GET",
    url: "showhints.php",
    data: ('keyword='+$(this).val()),
    beforeSend: function() {
        $("#search-box").css("background","#FFF url(loading.gif) no-repeat 165px");
    },
    success: function(data) {
        $("#suggesstion-box").show();
        $("#suggesstion-box").html(data);
        $("#search-box").css("background","#FFF");
    }
});

4 个答案:

答案 0 :(得分:5)

最简单的方法是使用一个对象文字,然后在内部进行uri编码

data: {keyword: $(this).val(), id : 10}

答案 1 :(得分:1)

你会这样做

...
data: {
            keyword: $(this).val(),
            id: 10
},
...

答案 2 :(得分:1)

您可以发送多个这样的值

   $.ajax({
            type: "GET",
            url: "showhints.php",
            data: {'key':'value','key':'value',..},
            beforeSend: function(){
                $("#search-box").css("background","#FFF url(loading.gif) no-repeat 165px");
            },
            success: function(data){
                $("#suggesstion-box").show();
                $("#suggesstion-box").html(data);
                $("#search-box").css("background","#FFF");
            }

答案 3 :(得分:0)

尝试以下方法:

HTML:

<form action="">
    <input type="text" name="name">
    <input type="text" name="surname">
    <input type="submit" name="submitForm">
</form>

Ajax电话:

var name = $('input[name]');
var surname = $('input[surname]');
$('input[submitForm]').click(function() {
    url: 'someLink.php',
    dataType: json,
    data: {
        name: name.val(),
        surname: surname.val()
    },
    success: function(data) {
        console.log(data)
    }
});