Axios和Fetch无法获取后期响应数据

时间:2018-06-30 14:59:30

标签: javascript php rest fetch axios

我无法使用axios库从后端获取响应数据。

这是我的示例测试后端(story.php),有点类似于生产代码:

pip show <packagename>

我使用jQuery <?php // Setting the response content type. header( 'Content-Type: application/json; charset=utf-8' ); echo json_encode( $_POST ); $.postaxios来测试每个库中是否都有正确的响应数据。但是似乎只有fetch能够正确检索响应数据,但是我不明白为什么$.postaxios不能从响应中获取数据,尽管响应状态为{{ 1}}!

以下是使用不同库进行测试的代码:

fetch

以下是屏幕截图,显示了不同库的响应: enter image description here

因此只有jQuery ok能够获取数据,但是$( document ).ready(function() { $( 'form' ).on( 'submit', e => { e.preventDefault() let val = $( 'input.name' ).val() // Sending request using jQuery post $.post( "/story.php", { name: val, time: "2pm" }, function( data ) { console.log( 'Ajax request' ) console.log( data ) }); // Sending request using axios axios.post('/story.php', { name: val, time: "2pm" } ) .then(function (response) { console.log( 'Axios request' ) console.log(response.data); }) .catch(function (error) { console.log(error); }); // Sending request using fetch fetch('/story.php', { method: 'POST', data: { name: val, time: "2pm" } } ) .then((response) => { return response.json(); }) .then((jsonObject) => { console.log( 'Fetch request' ) console.log(jsonObject) }) .catch((error) => { console.log( error ) }); } ) }); $.post返回一个空数组!为什么会这样?我想念什么吗?

**由于某种原因,我无法使用jQuery。

更新:找到了一个解决方案,如果我将帖子数据包装为查询字符串,那么它将起作用!但是我无法理解,想知道为什么PHP无法从axios或fetch获取数据?

0 个答案:

没有答案