2012-07-09 52 views
4

我正在使用phpStorm编辑文件。此代码打破页面:

$("#delete_all_button").click(function(){ 
    var oTT = TableTools.fnGetInstance('pickup_list_all'); 
    var selectedRows = oTT.fnGetSelectedData(); 

    first = selectedRows[0][selectedRows.length-1]; 
    $.post("delete.php", {'claimID': first}, function(data){ 
     console.log(data); 
    }); 
}); 

具体来说冒号中间claimID和第一个。当我徘徊在结肠下方的红色波浪中时,编辑告诉我“期待”。当我尝试加载页面时,控制台中没有出现错误,页面只是白色。

另一个需要注意的重要事项是,当我从代码中没有错误的其他文件复制以前工作的后置代码到此文件时,出现错误。

可能是什么问题?图书馆?

我已经进口的jQuery使用以下行:

<script type="text/javascript" charset="utf-8" src="js/jquery-1.7.2.min.js"></script> 

谢谢!

+1

也许是愚蠢的问题,但您是否检查控制台以查看数据是否实际记录? 'console.log'不会将任何内容打印到页面本身,如果这就是你想要的。 – 2012-07-09 19:57:37

+1

语法无误,你确定这段代码是什么原因导致错误?我在我的控制台中运行它,并没有得到语法错误。 – 2012-07-09 19:58:41

+0

我明白现在给我的错误是什么。这些不是.html文件。他们是.tpl文件,这是用php编写的模板解析器。当你有像{xxxx:xxxx}这样的行时,它们的行为会有所不同,所以它确实是一个语法错误,但是现在我必须弄清楚如何让smarty不会弄乱它并查看它是这样的哈哈哈。 – Julian 2012-07-09 20:09:01

回答

0

jquery.post()数据参数期望“的地图或字符串,被发送到与请求的服务器”。您可以尝试将第二个参数更改为JSON.stringify({'claimID': first})或将其包装在括号内以使其成为数组[{'claimID': first}]

+0

嗯,埃里克。非常聪明。如果你阅读我对Rocket的回复,你会看到我的真实问题。你的建议给了我一个主意。由于Smarty采取{xxxx:xxxx}形式的任何形式,并且使用它与jQuery打算的不同,我可能会尝试如下所示: var name =“'claimID':”;第一个= selectedRows [0] [selectedRows.length-1]; $ .post(“delete.php”,name + first,function(data){ console.log(data); }); – Julian 2012-07-09 20:16:21

0

标准是您不使用报价属性名称。一些旧的浏览器会因为它而崩溃。

$("#delete_all_button").click(function(){ 
    var oTT = TableTools.fnGetInstance('pickup_list_all'); 
    var selectedRows = oTT.fnGetSelectedData(); 

    first = selectedRows[0][selectedRows.length-1]; 
    $.post("delete.php", {claimID: first}, function(data){ 
     console.log(data); 
    }); 
}); 
+0

冒号不在属性名称中。我认为问题在于他把密钥名称作为字符串,所以你的代码无论如何都是正确的。 – 2012-07-09 19:47:58

+0

不要使用冒号?你的意思是不使用报价? (这是你所做的改变)。我正在使用当前版本的Chrome。尝试了你的代码,仍然是完全一样的错误。谢谢你。 – Julian 2012-07-09 19:51:16

+0

对不起,我的意思是不要使用报价。 – 2012-07-09 19:53:41