dongsui4658
2016-09-08 13:21
浏览 92
已采纳

通过fetch检索值(从javascript发送值到php文件)

I'm very new to fetch and don't know Ajax.

I'm trying to send data from JavaScript file (node.js server) to PHP file(Apache server).

I'm sending 2 JSON values through JavaScript fetch as "a" and "b".

my code looks like this.

fetch('http://localhost/react_task/react-webpack-boilerplate/php/api.php', {
  method: 'post',
  body: JSON.stringify({
    a: 2,
    b: 1
  })
}) .then(function(response) {
  if (response.status >= 200 && response.status < 300) {
    return response.text()
  }
  throw new Error(response.statusText)
})
.then(function(response) {
  console.log(response);
})

Can somebody tell me how to retrieve value of a and b in my PHP file? I'm working with react.js

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongtuo3795 2016-09-08 15:05
    已采纳

    Because you’re passing a JSON blob via a POST request, you’ll need to decode the JSON before attempting to read the data in it. You should also use PHP’s Filter Functions to safely retrieve user input.

    Here’s some sample code (untested):

    <?php
    $input = file_get_contents('php://input');
    $input = json_decode($input);
    $filtered_a = filter_var($input->a, FILTER_SANITIZE_NUMBER_INT);
    $filtered_b = filter_var($input->b, FILTER_SANITIZE_NUMBER_INT);
    
    echo "Safely received numeric inputs: a: {$filtered_a} b: {$filtered_b}";
    ?>
    

    More details on the how and why of using the filter functions can be found in the introduction page of the documentation.

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题