最近、JSON.stringify が空の文字列を取らないという問題に遭遇しました。
小さな修正で解決しましたが、空の文字列で機能しない理由がまだ気になっています
これが私のコードです。
$(function () {
$('#searchButton').click(function () {
var test = $("#DownloadsSearch").val();
alert(test);
if (test === "") test = "1";
displayAjaxLoading(true);
$.ajax({
url: '@(Url.RouteUrl("DownloadSearch"))',
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify({
searchText: test,
type: '@Model.Type'
}),
type: 'POST',
success: function (data) {
if (data.length > 0) {
$("#Review").empty();
$.each(data, function (id, options) {
$("<p/>").appendTo("#Review").append($('<a>').attr('href', 'http://www.pvs4you.com/' + options.URL).text(options.ProductID));
// $('<a>').attr('href', options.URL).text(options.ProductID).appendTo("#Review");
});
} else {
$("#Review").empty();
$("<p/>").html("<b>@Model.Title wasn't found.</b>").appendTo($("#Review"));
}
$('#small-searchterms').autocomplete({
disabled: false
});
displayAjaxLoading(false);
},
error: function (xhr, ajaxOptions, thrownError) {
$("#Review").empty();
$("<p/>").html("<b>@Model.Title wasn't found.</b>").appendTo($("#Review"));
}
});
});
});