【发布时间】:2012-08-16 16:42:24
【问题描述】:
我有一个调用 JavaScript 方法的按钮,如下所示:
processSelection = function(filename) {
//alert('method reached');
$.ajax({
url: "sec/selectUsers.php",
data: "filename="+filename,
cache: false,
dataType:'html',
success: function(data) {
//$('#uploader').html(data);
$('#noUsers').sortOptions();
values = $('#noUsers').children();
for (i = 0; i < values.length; i++) {
$(values[i]).bind('dblclick',switchUser);
}
$('#addButton').bind('click',addSelection);
$('#removeButton').bind('click',removeSelection);
$('#submitButton').bind('click',addUsersToFile);
},
error: function (request, textStatus, errorThrown) {
alert('script error, please reload and retry');
}
}); /* ajax */
}
它不会转到selectUsers.php 脚本,也不会发布错误消息。当我单击“添加用户”按钮时,它什么也不做。其他方法:switchUser、removeSelection、addSelection 和 addUserstoFile 已定义。
我对 JavaScript 和 php 还很陌生,并且已分配给这个项目在我们的网站上运行维护。我的 php_error.log 也没有显示错误。如果有人对此特定问题或一般调试有任何建议,我将非常感激。
这里是点击事件:
<input type="button" value="add users" onclick="processSelection('<?=$drFile['name']?>')"/>
好的,
为了简化我的问题,我这样做了:
processSelection = function(){
//alert('method reached');
$.ajax({
url: "sec/testPage.php",
cache: false,
success: function() {
alert('success');
},
dataType:'html',
error: function (request, textStatus, errorThrown) {
alert('script error, please reload and retry'); }
});
}
其中 testPage.php 只是一个包含一些值的表。
现在当我点击按钮时它显示“成功”,但从不显示 testPage.php
【问题讨论】:
-
您是否检查过该函数是否正在触发?发布您的按钮
HTML。 -
尝试使用
url: "/sec/selectUsers.php",而不是url: "sec/selectUsers.php", -
您使用的网址真的正确吗? PHP 文件是否在执行此 javascript 的页面的子目录“sec”中?
-
所有浏览器都可以让您按 F12 查看网络请求和响应。
-
按钮的外观如何以及您如何处理数据。如果您取消注释警报,您会得到它们。使用 firebug 在 chrome 或 Firefox 中查看,如果您调用 php,请在控制台和 NET 选项卡中查看
标签: php javascript jquery web-applications