我有一个调用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
脚本,也不会发布错误消息。当我点击我的按钮时,添加用户&#39;它什么都不做。其他方法: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
答案 0 :(得分:0)
dataType: 'HTML'
据我所知,必须在你的成功方法之前。如果仍然无效,请尝试以下方法:
它不会显示测试页面,因为您没有向当前正文添加任何内容。如果您在屏幕上看到“成功”,则您的脚本会成功执行。您需要做的就是如果您在testPage中生成了html,将所有html分配给php变量然后只是回显它而不是像
那样返回它 echo $myhtmlgenerated
并更改
success: function() { ....
要
success: function(result) {
$(body).append(result);
}
或者您可以使用它并指定一个特殊的div来保存该页面中的内容。