首页 > 解决方案 > 如何在ajax请求中传递空白数组?

问题描述

我面临一个问题,即我无法在 Ajax Post 请求中传递空白数组(如果数组为null),尽管在第一步中初始化了数组。在 post 请求中传递非空数组。

在下面的代码中,我初始化了名为selectedDeliveryLocations的数组。当数组不为空时

(例如 ["888888"、"17"、"5"、"2"、"3"])

我在 ajax 页面上收到的变量 selectedDeliveryLocations 但如果它为空,我只会收到 Ajax 请求中的城市变量,我应该收到 selectedDeliveryLocations 变量以及 selectedDeliveryLocations []空白数组。

$("select[name='city']").on("change", function(){
var city = $(this).val();

var selectedDeliveryLocations = [];
if( $("select[name='service_locations[]']").val() != '' && $("select[name='service_locations[]']").val() != null){
    selectedDeliveryLocations = $("select[name='service_locations[]']").val();
}

$.ajax({
    url:"ajaxGetSelectedDeliveryLocOnCityChange.php",
    data:{
            city:city,
            selectedDeliveryLocations:selectedDeliveryLocations
        },
    type:"post",
    success: function(response){
        var response = JSON.parse(response);
        if(response){

            $("select[name='service_locations[]']").html(response.responseContent);
            $("select[name='service_locations[]']").selectpicker("refresh");

            showSelectedDeliveryLocations();
        }
    },
    error: function(){ alert("Something went wrong, please try again"); },
    complete: function(response){}
});

});

标签: javascriptphpjqueryarraysajax

解决方案


尝试这个:

selectedDeliveryLocations = $("select[name='service_locations[]']").val() || '';

并在您的服务器端进行相应检查。


推荐阅读