2017-01-21 10 views
0

我試着在下面的方法中傳遞多個值,但我無法得到這個工作。什麼是正確的語法? 我試圖我應該如何將多個變量傳遞給jquery ajax中的url?

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"); 
    } 
}); 

回答

5

最簡單的是使用對象文本然後將這個URI內部編碼

data: {keyword: $(this).val(), id : 10} 
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) 
    } 
}); 
1

你會做這樣

... 
data: { 
      keyword: $(this).val(), 
      id: 10 
}, 
... 
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"); 
      }