首頁 > web前端 > js教程 > 主體

實作前後端資料互動方法總結_基礎知識

WBOY
發布: 2016-05-16 16:05:17
原創
1111 人瀏覽過

這篇文章適合前後端協同開發經驗不足的新手閱讀。

HTML賦值

輸出到 Element 的 value 或 data-name

<input type="hidden" value="<&#63;php echo $user_avatar;&#63;>" />
<div data-value="<&#63;php echo $user_avatar;&#63;>"></div>

登入後複製

渲染結果

<input type="hidden" value="https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40" />
<div data-avatar="https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40"></div>

登入後複製

使用 JS 取得

$('input').val();
// http://jquery.bootcss.com/jQuery.data/
$('div').data('avatar');

登入後複製

優點:

不佔用全域變量,由 JS 自由取得。

使用建議:

適合傳遞簡單數據,也非常適合多個簡單數據與 Element 綁定關係。

<ul>
<li>nimojs <span data-userid="1" >删除</span></li>
<li>nimo22 <span data-userid="2" >删除</span></li>
<li>nimo33 <span data-userid="3" >删除</span></li>
<li>nimo44 <span data-userid="4" >删除</span></li>
<li>nimo55 <span data-userid="5" >删除</span></li>
</ul>
<script>
$('span').on('click',function(){
  $.post('/ajax/remove/',$(this).data('userid'),function(data){
    // ...
  })
})
</script>

登入後複製

JS賦值

將資料填入 <script> 的 JavaScript 變數宣告中。 </p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;"> &lt;script&gt; var user_avatar = &quot;&lt;&amp;#63;php echo $user_avatar;&amp;#63;&gt;&quot;; // 渲染结果 // var user_avatar = &quot;https://avatars1.githubusercontent.com/u/3949015&amp;#63;v=3&amp;s=40&quot;; &lt;/script&gt; </pre><div class="contentsignin">登入後複製</div></div> </div> <p>或使用 Smarty 後端模板引擎:</p> <p><script><br /> var user_avatar = "{$user_avatar}";<br /> </script>

優點:
傳遞資料非常方便。前端直接呼叫 user_avatar 變數使用資料。

缺點:

為了傳遞一個字串資料佔用了全域變數 user_avatar,當有很多資料需要傳輸時則會佔用很多全域變數。
如果傳回資料存在換行將會導致JS報錯

// 渲染结果有换行符
var user_id = "https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40";
// Uncaught SyntaxError: Unexpected token ILLEGAL
登入後複製

最佳化:

可以透過指向的某一個變數來存放所有後端回傳的內容,最小程度佔用全域變數。例:

// PHP 代码
var SERVER_DATA = {
  username: {$username},
  userid: {$userid},
  title: {$title}
}
// 渲染结果
var SERVER_DATA = {
  username: "NimoChu",
  userid: 1,
  title: 'F2E'
}
登入後複製

使用建議:

需要最快速度傳遞資料給 JS 並且十分確定此資料穩定時,使用此方式。資料格式複雜的建議使用script填入JSON 或AJAX來取得JSON 方法。

script填充JSON
什麼是JSON?

將 JSON 資料填入

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!