Reactjs 如何在查询参数url中传递数组

Reactjs 如何在查询参数url中传递数组,reactjs,Reactjs,我正在使用multiselect下拉列表,我想要的是我在下拉列表中选择的任何内容,通过调用包含查询参数的api将其发送到服务器,以容纳这些下拉列表结果。我制作了一个选定项目的数组 Array(3) [ "contact", "fee", "inbox" ] 我希望此数组可以像这样传递到下面的url: http://localhost.com/api/influencers?status=contact&status=fee&

我正在使用multiselect下拉列表,我想要的是我在下拉列表中选择的任何内容,通过调用包含查询参数的api将其发送到服务器,以容纳这些下拉列表结果。我制作了一个选定项目的数组

Array(3) [ "contact", "fee", "inbox" ] 
我希望此数组可以像这样传递到下面的url:

http://localhost.com/api/influencers?status=contact&status=fee&status=inbox
在我的方法中,我最终得出以下结论:

http://localhost:8080/details?status[]=contact&status[]=fee&status[]=inbox
谁能帮我一下吗

const InfluencersList = props => {
    const [availability, setAvailability] = useState(null);

    const handleAvailabilityChange = value => {
        const availability1 = value;
        setAvailability(value);
        getFilterData(availability1, null);
    };

    const getFilterData = (search, pageNumber) => {
        let params = {};
        params.status = search; //search is array [contact,

        if (pageNumber) {
            params.page = pageNumber; // no is array is number 
        }
        axios.get("/api/influencers", { params: params }).then(res => {
            setState({
                items: res.data.data
            });
        });
    };

    <ChoiceList
        title="Availability"
        titleHidden
        choices={statuses}
        selected={availability || []}
        onChange={handleAvailabilityChange}
        allowMultiple
    />
}
constinfluencerslist=props=>{
const[availability,setAvailability]=useState(null);
常量handleAvailabilityChange=值=>{
常量可用性1=值;
设置可用性(值);
getFilterData(可用性1,空);
};
常量getFilterData=(搜索,页码)=>{
设params={};
params.status=search;//搜索是数组[contact,
如果(页码){
params.page=pageNumber;//否是数组是数字
}
get(“/api/influencers”,{params:params})。然后(res=>{
设定状态({
项目:res.data.data
});
});
};
}

为什么不呢-使用axios-您可以通过以下方式发送字符串:

“联系人;费用;收件箱”

在后端,使用类似split(“;”)的函数将该字符串转换为数组。

您需要使用该函数来构建具有相同名称的多个查询的
参数

迭代
搜索
,并为参数中的每个值指定一个新的状态值:

const getFilterData = (search, pageNumber) => {
    const params = new URLSearchParams();
    search.forEach(value => params.append('status', value));

    if (pageNumber) {
        params.append('page', pageNumber) ;
    }
    axios.get("/api/influencers", { params }).then(res => {
        setState({
            items: res.data.data
        });
    });
};

你说dropdown[]会出现两次,但我没有看到。你发布了全文吗?从你所说的来看,这是正确的方式和结果。dropdown[]会出现两次我已经更正了。我现在的问题是:如何像这样传递到以下URL:。等待你的答复。谢谢你拆分(“;”)我试过了,但没有成功。你的后端阅读是什么?你在后端使用的是什么语言?Axios和java script/react通常用于前端,除非你使用nodejs作为web服务器,在那里你可以使用java script进行后端编码。后端编码。在从前端发送Axios请求后,我使用laravel is phpand,what正在接收相应的控制器函数?我遇到了类似的问题,控制器在处理包含字符串的json对象后始终能够获取字符串。在这些情况下,json的使用是一种标准。感谢您的回复,这是可能的,但页码无效,因为它不是数组