米笙财税 發表於 2019-6-11 18:34:00

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 =&gt; 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 =&gt; console.log(res.data));&lt;/script&gt;
</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 =&gt; console.log(res.data))</pre>
</div>
<p>&nbsp;</p>
<p>在服务器端&nbsp;<code>var_dump(json_decode(urldecode($_POST['ajax'])));</code>&nbsp;了。</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>&nbsp;</p>
<p>接下来在PHP里,就可以用你熟悉的的IS_AJAX、isXmlHttpRequest之类的了</p>

</div>
<div id="MySignature" role="contentinfo">
    正心投入专注<br><br>
来源:https://www.cnblogs.com/guiyishanren/p/11005347.html
頁: [1]
查看完整版本: php接受axios数据