好的,这是我的JavaScript
<script type="text/javascript" language="JavaScript">
function manageCart(task,item) {
var url = 'managecart.php';
var params = 'task=' + task + '&item=' + item;
var ajax = new Ajax.Updater(
{success: ''},
url,
{method: 'get', parameters: params, onFailure: reportError});
}
function reportError(request) {
$F('cartResult') = "An error occurred";
}
这是HTML
<p>
<a href="javascript:void(0)" onclick="manageCart('add',83)">Add to cart</a>
</p>
这个脚本在Firefox中不起作用,我运行了一些Firefox JS调试器但它们没有显示任何错误。我在JavaScript方面不太好,所以如果可以,请帮助我:) 这个脚本实际上使用Prototype库,如果它会使事情更清楚。
答案 0 :(得分:1)
对于这种类型的Ajax调用,请不要使用Ajax.Updater
,因为它旨在使用ajax响应的内容更新特定元素。我相信您只想进行简单的单个ajax调用,因此使用Ajax.Request
将是您想要使用的。
使用Ajax.Updater的原始代码
var url = 'managecart.php';
var params = 'task=' + task + '&item=' + item;
var ajax = new Ajax.Updater(
{success: ''},
url,
{method: 'get', parameters: params, onFailure: reportError});
使用Ajax.Request的代码
var url = 'managecart.php';
var params = 'task=' + task + '&item=' + item;
var ajax = new Ajax.Request(url,
{
method: 'get',
parameters: params,
onFailure: reportError,
onSuccess: function(){
console.log('It Worked');
}
});
我在此调用中设置了一个成功处理程序,以确认它对您有用 - 并且它应该输出到您的控制台。您可以删除它,或在您对其有效时<{1}}发表评论
答案 1 :(得分:0)
我在FireBug上花了更多时间并发现错误。
时间戳:03.04.2013 10:36:38 错误:ReferenceError:左侧无效分配 源文件:http://www.example.com/index.php 行:413,专栏:18 源代码:
('cartResult') = "An error occurred";
Firefox迫切希望声明看起来像这样:
('cartResult') == "An error occurred";