javascript - 如何运行远程 PHP 脚本,然后点击 HTML 页面中的链接

标签 javascript php jquery html ajax

****这是更新!原帖如下。****

根据提供的答案,我现在对代码进行了一些更改。现在我有了这个......

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js">    </script>

<script>
var coinToss = Math.random();

function runScript()

{

if (coinToss >= 0.5) {
$.get( "http://splittestpro.com/splittestonepage.php?test=1&member=4&result=1" );
}
else
{
$.get( "http://splittestpro.com/splittestonepage.php?test=1&member=4&result=2" );

}  

}
</script>

这是我链接中的 onclick 命令。

<a href="http://yoursite.com/order.html" onclick="runScript();">click here</a>

此代码遵循链接,但不运行该代码。但是,如果我将 href 更改为 href="#",它会运行代码,但不会点击链接。所以和以前一样!!!

答案之一给出的建议是在函数内部进行重定向。但这是进入其他人网站的代码。因此,激活该功能的 onclick 可能位于表单提交按钮、链接、图像或他们想要跟踪的任何内容上,但我不知道他们通过点击链接到的 URL(他们可能不想完全链接到 URL!)

有什么方法可以调整此代码,以便它强制 $.get 命令在触发链接之前运行 PHP 脚本吗?我认为这是使用链接内的 onclick 自动发生的。

我也尝试过用 $.post 代替 $.get,但这也不起作用。

感谢您的帮助

****原帖如下******

我需要运行的脚本是另一台服务器上的 PHP 脚本。我根本不需要从脚本返回任何信息,我只需要它在人们单击链接时运行,然后点击链接。

此代码不适用于我自己的网站,我将其提供给成员(member),因此该页面必须是基本的 HTML 代码,我知道我可以从 PHP 页面执行此操作,但我需要它从 HTML 和 Javascript 工作。

我现在在做什么...

目前我正在使用innerHTML来更改像这样的javascript函数内的DIV标签...

function runScript()
{
document.getElementById('thetrigger').innerHTML = "<img src='http://splittestpro.com/splittestonepage.php?test=1&member=4&result=2' style='height: 1px; width: 1px; visibility: hidden;' />";
}

页面上有这个 DIV 标签....

<div id="thetrigger"></div>

我正在使用 onclick 命令来触发这样的功能...

<a href="http://yoursite.com/order.html" onclick="runScript();">click here to order</a>

我已经尝试过...

  • 如果我在没有链接的情况下运行脚本,PHP 执行得很好,所以我知道 PHP 一切正常

  • 如果我在链接中添加“return false”,PHP 就会按照我的预期工作

  • 我尝试了 return false 和 return true 的各种组合,以及使用 onclick="return runScript();"然后在函数内返回 true。

  • 我已经尝试了很多方法来做到这一点,但我尝试的所有方法要么不会运行 PHP 代码,但会遵循链接,或者它会运行代码,但不会遵循链接

请注意......

我的主要问题是我在使用 Javascript 的基本 HTML 页面中,并且我想运行另一台服务器上的 PHP 脚本。这些都无法改变,因此请不要提供涉及将页面更改为 PHP 页面的解决方案。该页面不是我的,我将此代码提供给我的企业成员,他们的页面是基本的 HTML 页面。

另外...请注意,我不需要从 PHP 脚本返回任何数据。只需要运行脚本然后点击链接即可。

一个可能的解决方案......

目前,我通过将 PHP 脚本隐藏在插入页面 DIV 的 IMG 标记中来触发该脚本。

我已经搜索了从 javascript 运行远程 PHP 脚本的替代方法,但找不到任何有效的解决方案。

我想我的解决方案应该是这样的......

<script>
function runScript()
{
**RUN PHP SCRIPT**
}
</script>

<a href="http://yoursite.com/order.html" onclick="runScript(); return true;">click here to order</a>

但是....我应该在 RUN PHP SCRIPT 部分中放入什么内容?

看来使用 AJAX 或 cURL 可能是实现此目的的一种可能方法。不过我对此一无所知,所以需要解释一下。另外,如果我使用 AJAX,它将在基本 HTML 页面中正常工作。

我想向我的成员提供代码,而他们无需在服务器等上更改或添加任何内容。他们应该能够将代码片段复制并粘贴到他们的基本 HTML 页面中。

感谢您的帮助:)

最佳答案

使用 AJAX。这样,您的 PHP 脚本将在“后台”运行,并且成功后您将能够将用户重定向到新页面。下面是一个简单的 jQuery 示例。

<script>
function runScript() {
  $.get( "file.php", function() {
    window.location = "http://www.pagetoredirectto.com/"
  });
}
</script>

关于javascript - 如何运行远程 PHP 脚本,然后点击 HTML 页面中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29984943/

相关文章:

javascript - 使用 Jquery .find() 遍历按类选择元素并存储 Prop

jquery index() - 悬停列表项,显示具有相同索引的内容

javascript - 在 Array JS 上完成

PHP AWS DynamoDB : Limit the Number of Total Query Results Using an Iterator

php - 根据sql查询显示通知

php - 在sql中添加两列的值

javascript - Chain React setState 回调

javascript - 如何禁用 "Changes you made may not be saved."对话框(Chrome)?

javascript - 将后端数据加载到 Backbone 模型的典型方法

javascript - 如何检查json格式的数据是否存在?