当前位置: 代码迷 >> PHP >> $.post 异常咋回事
  详细解决方案

$.post 异常咋回事

热度:71   发布时间:2016-04-28 16:56:47.0
$.post 错误怎么回事?
$.post 错误怎么回事?

$(function(){
  $('#bn').click(function() {
    var r = [];
    $('.xh').each(function(i, t) {
      r.push($(this).html());
    });
    alert(r);
$.post("yidong.php",{xh :r});
  });
});[code=php]<table class="result-tab" width="100%" cellspacing="0" >
                <tr align="center">
                  <td align="center"><h2><a href="javascript://" onclick="sendRequest('pid');">编号</a></h2></td>
                  <td><h2><a href="javascript://" onclick="sendRequest('pname');">名 称</a></h2></td>
                  <td><h2><a href="javascript://" onclick="sendRequest('pID');">种 类</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">类 别</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">图 片</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">简 介</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">图 示</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">介 绍</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">公 司</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">开 始</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">结 束</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">地 址</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">休 息</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">网 址</a></h2></td>
  <td><h2><a href="javascript://" onclick="sendRequest('pID');">停 止</a></h2></td>
  <td><h2>操 作</h2></td>
  <td><h2>排 序</h2></td><td><h2><td><input type=button value=确认 id=bn></td></h2></td>   
                </tr>
                {foreach from=$shop item=i}
                    <tr align="center">
                      <td class='xh'>{$i["id"]}</td>
                      <td>{$i["name"]}</td>
  <td>{$i["varietyid"]}</td>
  <td>{$i["classifyid"]}</td>
  <td>{$i["list_pic"]}</td>
  <td>{$i["introduction"]}</td>
  <td>{$i["show_pic"]}</td>
  <td>{$i["product_introduction"]}</td>
  <td>{$i["company"]}</td>
  <td>{$i["business_start"]}</td>
  <td>{$i["business_end"]}</td>
  <td>{$i["address"]}</td>
  <td>{$i["rest_flag"]}</td>
  <td>{$i["web"]}</td>
  <td>{$i["del_flag"]}</td>
                      <td><a href="user_shop.php?id={$i["id"]}">修改</a> <a href="delete_shop.php?id={$i["id"]}">删除</a> </td>
                    
<td><a href="#" class="up">上移</a></td>
                    <td><a href="#" class="down">下移</a></td>
<td><a href="#" class="top">置顶</a></td>
</tr>
                {/foreach}
              </table>
[/code]
错误代码:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "C:\wamp\www\xcx\user\templates\shop.tpl" on line 154 "$.post("yidong.php",{xh :r});" - Unexpected " :", expected one of: "}" <-- thrown in C:\wamp\www\xcx\libs\sysplugins\smarty_internal_templatecompilerbase.php on line 154

------解决思路----------------------
js 花括号与 smarty 定界符冲突问题,可以这样保护一下js代码不被编译。
{literal}
<script language=javascript>
  ........
</script>
{/literal}
------解决思路----------------------
其实也不必,加个空格就可以
$.post("yidong.php",{ xh :r });

或者换个定界符

使用 {literal} 标记有个坏处:js 代码终究不能有模板变量了
  相关解决方案