但是当我添加alert(“something”);行脚本php脚本被称为。
function myFunction(fr, fw) {
new Ajax.Request('/ascript', {
method: 'post',
parameters: { a: fr, b: fw },
onSuccess: function(transport) { alert("here"); },
onFailure: function(request) { }
});
}
可能是一些奇怪的空白问题?我的语法中是否有错误?
所以我发现了这个问题。问题是我如何添加事件处理程序,以我的“按钮”
最初(在我的问题给出两个例子)我有:
echo "<a href='' ><p id='button' onclick='myFunction(" .$a .", " .$b.");'>Click</p></a>";
周围<p>
的链接标签是ofcourse一个坏主意...
这工作:
echo "<a href='' onClick='Event.stop(event);'><p id='button' onclick='myFunction(" .$a .", " .$b .");'>Click</p></a>";
感谢所有对你的答案。我想这个故事的寓意是,从Javascript本身看起来更远,看看它被调用的地方以及可能会被打破的地方。
您应该尝试onComplete
事件。原型有时不属于任何onSuccess
或onFailure
但所有请求将被onComplete
覆盖还尝试与包裹块Try - Catch
Ajax请求,它可能会有所帮助。
尝试捕获没有帮助,添加警报(“Blah”)到onComplete结束在相同的结果 - 东西开始工作。但我不希望每次请求完成时都显示警报:) – texmex5 2010-07-31 06:32:52
你怎么知道这个请求没有被创建?您是否尝试安装Firefox“TamperData”插件来跟踪HTTP请求,甚至是Firebug?简单地改变这种回调应该不会影响HTTP请求是否被创建,所以无论是*被创建,否则第二个测试都有其他不同之处。 – Pointy 2010-07-30 14:18:17
请求的脚本是我自己的,我在那里有error_log句子,我可以看到它没有被执行。 – texmex5 2010-07-30 14:36:23