Ajax isteği için web sunucumda bir javascript dizisi göndermeye çalışıyorum. Ben $.ajax()
çağrı Chrome'un geliştirici araçları etiketleri 2 elemanları (tüm unsurları sadece dizeleri) ile bir dizi olarak itiraz göstermek vurduğunda olarakNeden JQuery, dizi verilerini göndermek yerine "benim parametrelerim olarak" undefined = undefined "gönderiyor?
function SearchTasksByTags() {
// Get the list of tags currently chosen
var tags = [];
$('.tagit-choice input').each(function() { tags.push($(this).val()); });
// If we have no tags, don't bother searching and just clear the current results
if (tags.length == 0) {
$('#tagSearchResults').empty();
return;
}
// Retrieve the search results from the server
$.ajax({ url: '<%= Url.Action("SearchByTags") %>',
data: tags,
type: 'POST',
success: function (html) {
$("#tagSearchResults").empty().append(html);
}
});
}
dizisi, düzgün şekil verilirken: İşte benim kodudur.
Ancak fiddler göre, fiili sonrası parametreleri sunucuya yollanmaktanşunlardır: Neyi yanlış yapıyorum
undefined=undefined
?
Düzenleme console.log gösterir:
console.log(tags)
["portability", "testing"]
undefined
'tags' bir ilişkisel dizi değil, bu yüzden jQuery ondan bir sorgu dizesi inşa zor anlar yaşıyor düşünün. Her ne kadar şaşırmış olsam da, bunu 'undefined' olarak değerlendirir, muhtemelen bu problemdir. –