javascript - 尝试在链接点击时使用ajax在后台打开一个php文件

标签 javascript php jquery html ajax

我想在点击链接时在后台打开一个 php 文件,而不是向用户显示指向该 php 文件的链接。

我意识到唯一的方法是使用 ajax。

但它不工作,而不是在后台打开新的 php 页面而不是没有任何反应,php 代码不执行。

我的javascript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript">
    $('a#run-php-script').click(function(e){
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'http://mywebsiteaa.com/myfile.php?addId=<?php echo $add->id); ?>'
        });
        return false;
    });
</script>

我的html

<a id="run-php-script" href="#">clickit</a>

请注意,当我将 php 链接放入 html href 标记时,我的 php 脚本运行良好。但问题是它向用户显示了我的 php 文件 url,我不希望用户看到它,也不希望它在新选项卡中打开(如果可能的话),而是在后台打开。

我也用 GET 代替 POST 试过了,还是不行。

请帮忙谢谢


更新 -- 根据用户请求,我已将其更改为按钮。我也忘记了包装标签。但它仍然不起作用。

新js

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() { 
    $('#run-php-script').click(function(){
        $.ajax({
            type: 'POST',
            url: 'http://mywebsiteaa.com/myfile.php?addId=<?php echo $add->id); ?>',
        success: function(){
            alert('success');
        },
        error: function(){
            alert('failure');
        }
        });
        return false;
    });
});
</script>

新的 html

<input id="run-php-script" type="button" name="someBtn" value="clickit" />

当我点击按钮时仍然没有任何反应。 php 页面无法在后台打开。

我在上面的脚本中添加了成功代码。但即使它显示“成功”弹出窗口,实际的 php 页面仍然没有在后台打开并执行,只是没有任何反应。

请帮忙谢谢

最佳答案

这里有两处问题:

  • 该链接具有 target="_blank" 属性,因此单击它会在新选项卡中打开 href,您应该将其删除。
  • 事件处理程序不会阻止链接的默认操作

如果您根本不希望浏览器处理链接,您应该将 preventDefault() 调用添加到处理程序

例如

$('a#run-php-script').click(function(e){
    e.preventDefault();
    ...
});

关于javascript - 尝试在链接点击时使用ajax在后台打开一个php文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40570430/

相关文章:

javascript - 点击Open Layer中的图层时的回调

javascript - ES6 标记模板实用性

php - 没有从 SQL 返回想要的结果

php - 如何比 `object` 更好地访问 `$collection[0]->object` 数据

jquery - 在 jQuery 中绑定(bind)表单变量

javascript - 如何在悬停和点击时交换文本

javascript - 如何在图像上定义自定义选择/ mask (上传后立即在线脚本)

javascript - 可以使用变量值来指定 jquery 对象名称吗?

javascript - 带有日期时间的多值轴

php - 如何通过单击按钮来增加变量,PHP\MySQL