如何在react native中向API发送数组数据



这是我想用API发送的数据,但我不知道如何发送它因为它是以数组的形式出现的,特别是技能和其他技能数据的形式为数组

"job_type_id":"job-type-0001",
"job_salary_type_id":"job-salary-0001",
"employment_type_id":"employment-type-0001",
"job_experience_id":"job-experience-0001",
"postcodes": {
"postcode_0": {
"postcode_id": "postcode-0001"
},
"postcode_1": {
"postcode_id": "postcode-0002"
}
},
"state_id":"state-0001",
"address":"address city",
"job_title":"Doctor",
"job_contact_email":"abc99@gmail.com",
"job_contact_number":"1516555", 
"job_description":"Test Description",
"max_salary":"720",
"min_salary":"710",
"position_no":"1",
"last_apply_date":"02-03-2022",
"other_skills": {
"other_skill_0": {
"title": "ISO - @@ 1/"
},
"other_skill_1": {
"title": "ISO - @@ 2/"
}
},
"skills": {
"skill_0": {
"skill_id": "skill-0001"
},
"skill_1": {
"skill_id": "skill-0002"
},
"skill_2": {
"skill_id": "skill-0003"
}
}
}

这是我的代码

useEffect(() => {
const fetchstateData = async () => {
const resMr = await axios.post
(`${urldemo}`)
setData1(resMr.data.result);
const responsestate = await axios.post
(`${urldemo}`)
setData2(responsestate.data.result);
const responsepostal = await axios.post
(`${urldemo}`)
setData3(responsepostal.data.result);
;
console.log("result", JSON.stringify( responsepostal, null, 2 ))
}
fetchstateData();
}, []);
const [data1, setData1] = useState([])
const [data2, setData2] = useState([])
const [data3, setData3] = useState([])
const [state_id, setStateId] = useState("");
const [postcodes, setPostcodes] = useState("");
const [skills, setSkills] = useState("");
const [position_no, setPosition_no] = useState("");
const [last_apply_date, setLast_Apply_Date] = useState("");
const handleSubmitButton = () => {

if (!position_no || !last_apply_date || !skills) {
showError("Fields Required")
return;
} else {
var dataToSend = {
job_title: job_title,
job_description: job_description,
max_salary: max_salary,
min_salary: min_salary,
experiance: experiance,
salary: salary,
jobMode: jobMode,
skills: skills,
jobType: jobType,
state_id: state_id,
postcodes: postcodes,
position_no: position_no,
last_apply_date: last_apply_date,
};
var formBody = [];
for (var key in dataToSend) {
var encodedKey = encodeURIComponent(key);
var encodedValue = encodeURIComponent(dataToSend[key]);
formBody.push(encodedKey + '=' + encodedValue);
}
formBody = formBody.join(' & ');
let data = {
job_title: job_title,
job_description: job_description,
max_salary: max_salary,
min_salary: min_salary,
experiance: experiance,
salary: salary,
skills: skills,
jobMode: jobMode,
jobType: jobType,
state_id: state_id,
postcodes: postcodes,
position_no: position_no,
last_apply_date: last_apply_date,
};
fetch(`API`, {
method: 'POST',
body: JSON.stringify(data),
headers: {
'Content-Type': "application/json",
"Accept": "application/json",
},
})
.then((response) => response.json())
.then((responseJson) => {
console.log("response.JSON ==>", responseJson);
showError('Posted')
if (responseJson.status === 'success') {
console.log(
'Job Posted'
);
showSuccess('Successfully Posted')
setModalVisible(true)

} else {
showSuccess(responseJson.message)
}
})
.catch((error) => {
console.error("Error Received ", error);
});
}
}

这是UI CODE,我只是添加了选择器组件,其中我从API获取数据,我想把数组数据添加到另一个API

<Picker style={GlobalSS.picker}
selectedValue={postcodes}
mode='dropdown'
dropdownIconRippleColor='orange'
dropdownIconColor='#FF8025'
onValueChange={(itemValue, itemIndex) =>
setPostcodes(itemValue)
}>
<Picker.Item color='grey'
label="Select Postal Code " value="" />
{data3.map(item => (
<Picker.Item label={item.text} value={item.id} />
))}
</Picker>

如何在react native中发送数组数据到API ?你发送这样的数据

假设后端接收的关键参数为arr[]

url是这样的arr[0]=val&arr[1]=val&arr[2]=val

let arrayData= [3,4,5,6,2]
let i = 0;
let stringArrayData = ''
for (i = 0; i < arrayData.length; i++) {
stringArrayData += `&arr[${i}]=${arrayData[i]}`
}

//stringArrayData ->您将此数据发送到后端

最新更新