php接受axios数据
<div class="cnblogs_code"><pre><span style="color: rgba(0, 0, 255, 1)">var</span> params =<span style="color: rgba(0, 0, 0, 1)"> {
username: </span>'admin'<span style="color: rgba(0, 0, 0, 1)">,
password: </span>'123456'<span style="color: rgba(0, 0, 0, 1)">
}
axios.post(</span>'test.php', params).then(res => console.log(res.data))</pre>
</div>
<p>php代码如下</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">传的是一个json对象,可以用file_get_contents("php://input")获取到json串,然后转化为object获取属性</span>
<span style="color: rgba(128, 0, 128, 1)">$data</span> = <span style="color: rgba(0, 128, 128, 1)">file_get_contents</span>("php://input");</pre>
</div>
<p>如果用$_POST接受</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">var params = new URLSearchParams();
params.append('username', 'admin');
params.append('password', '123456');
axios.post('test.php', params).then(res => console.log(res.data));</script>
</pre>
</div>
<p> </p>
<div class="cnblogs_code">
<pre>可以看下文档 Using application/x-www-form-urlencoded format这个段落</pre>
</div>
<p><span style="font-size: 18pt"><strong>其他方法</strong></span></p>
<p>只需要很小的改动,把它变成字符串提交就好。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> params = 'ajax='+<span style="color: rgba(0, 0, 0, 1)">encodeURIComponent(JSON.stringify({
username: </span>'admin'<span style="color: rgba(0, 0, 0, 1)">,
password: </span>'123456'<span style="color: rgba(0, 0, 0, 1)">
}));
axios.post(</span>'test.php', params).then(res => console.log(res.data))</pre>
</div>
<p> </p>
<p>在服务器端 <code>var_dump(json_decode(urldecode($_POST['ajax'])));</code> 了。</p>
<p>如果是要模拟jQuery的Ajax请求,就再加个config</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> url =<span style="color: rgba(0, 0, 0, 1)"> ...
</span><span style="color: rgba(0, 0, 255, 1)">var</span> params = 'ajax='+<span style="color: rgba(0, 0, 0, 1)">encodeURIComponent(JSON.stringify(...));
</span><span style="color: rgba(0, 0, 255, 1)">var</span> config = {headers: {'X-Requested-With': 'XMLHttpRequest'<span style="color: rgba(0, 0, 0, 1)">}};
axios.post(url, params, config)...</span></pre>
</div>
<p> </p>
<p>接下来在PHP里,就可以用你熟悉的的IS_AJAX、isXmlHttpRequest之类的了</p>
</div>
<div id="MySignature" role="contentinfo">
正心投入专注<br><br>
来源:https://www.cnblogs.com/guiyishanren/p/11005347.html
頁:
[1]