在我的index.php的底部,我在配对的Javascript
标记之间有一个<script>
函数。我有一个单击处理程序,它调用发出Prototype.js
Ajax请求的函数。
虽然调用了myFunction
本身,但此版本不起作用(没有请求)。
function myFunction(fr, fw) {
new Ajax.Request('/ascript', {
method: 'post',
parameters: { a: fr, b: fw },
onSuccess: function(transport) { },
onFailure: function(request) { }
});
}
然而,当我添加警报(“某事”);行调用ascript php脚本。
function myFunction(fr, fw) {
new Ajax.Request('/ascript', {
method: 'post',
parameters: { a: fr, b: fw },
onSuccess: function(transport) { alert("here"); },
onFailure: function(request) { }
});
}
可能是一些奇怪的空白问题?我的语法是否有错误?
答案 0 :(得分:0)
您应该尝试onComplete
事件。原型有时不属于onSuccess
或onFailure
,但所有请求都将由onComplete
也尝试用Try - Catch
块包装ajax请求,这可能会有所帮助。
答案 1 :(得分:0)
所以我发现了问题。问题在于我如何将eventhandler添加到我的“按钮”
最初(在我的问题中给出的两个例子中)我有:
echo "<a href='' ><p id='button' onclick='myFunction(" .$a .", " .$b.");'>Click</p></a>";
带有链接标记的周围<p>
当然是一个坏主意......
这有效:
echo "<a href='' onClick='Event.stop(event);'><p id='button' onclick='myFunction(" .$a .", " .$b .");'>Click</p></a>";
感谢大家的回答。我想这个故事的寓意是,看起来更远离Javascript本身,看看它被调用的地方以及可以在那里打破的东西。