我有一个按钮,可以调用一个看起来像这样的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
dataType: 'HTML'
据我所知,必须在你的成功方法之前。如果仍然不起作用,请尝试以下操作:
它不会显示测试页面,因为您不会将任何内容附加到当前正文。如果您看到"成功",您的脚本将成功执行屏幕。您需要做的就是,如果您在testPage中生成了html,将所有html分配给php变量,然后回显它而不是像返回一样返回它
echo $myhtmlgenerated
和改变
success: function() { ....
自
success: function(result) {
$(body).append(result);
}
或者你可以使用它并指定一个特殊的div来保存该页面的内容。