如果服务器响应特定内容,则运行 (JS) 函数
Run (JS) function if server responded something specific
在我的一个页面上,我有"跟踪.php"向另一台服务器发出请求,如果在Firebug Net面板中成功跟踪,我会看到响应trackingFinished();
有没有一种简单的方法(内置函数)来完成这样的事情:
If ("tracking.php" responded "trackingFinished();") { *redirect*... }
Javascript?.PHP?什么?
问题是,这种"跟踪.php"还会创建浏览器和闪存cookie(然后在创建时用trackingdone()响应)。我有一个JS做了这样的事情:
If ("MyCookie" is created) { *redirect*... }
它有效,但是如果您以前在浏览器中有 MyCookie,它只是在"跟踪.php"有时间创建新 cookie 之前重定向,因此旧 cookie 在重定向之前不会被覆盖(我正在尝试完成)......
我想到的解决方案是在跟踪完成()后重定向; 得到回应...
我认为 javascript 中更好的形式是从一个页面到另一个页面发出请求,而不离开第一个页面是使用 ajax 方法,而这个 jQuery 使它变得如此简单,你只需要使用 ajax 函数,并传递一点参数:
$.post(url, {parameter1: parameter1value, param2: param2value})
您可以连接一些操作:
$.post().done(function(){}).fail(function(){})
并且不是ajax,您可以使用更简单的$.post,并使用完成和失败方法来评估所接收信息的成功
如上所述,AJAX 是在这样的页面之间进行通信的最佳方式。下面是对 track.php 页面发出 AJAX 请求的示例。它使用成功函数来查看 track.php 是否返回 'trackingDone();'。如果是这样,那么它会重定向页面"重定向.php":
$.ajax({
url: "track.php",
dataType: "text",
success: function(data){
if(data === 'trackingFinished();'){
document.location = 'redirect.php';
}
}
});
该示例使用 JQuery。
相关文章:
- 如何使用Gmail运行.js文件
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 按钮未运行为按钮,找不到如何使运行JS文件
- 在单独的上下文中运行 js 代码并访问其全局变量
- 如何使用 GetValues 使用 Jint 运行 Js 代码
- 节点webkit仅运行.js文件
- 如何在Jasmine中运行js函数
- Ubuntu试图运行.js文件得到抛出错误;
- 在pink-in上运行js;在pink-out上运行不同的js
- 加载图像后运行JS
- 从命令行运行JS文件
- 如何在命令提示符下运行js文件
- Meteor/Iron路由器-何时何地运行JS以交换到所见即所得
- 按顺序运行Js代码
- 在终端中使用imacros运行JS
- 无法在 Windows 上的节点中运行.js文件
- 如何使用 Muse 参数进行布尔比较以运行 JS 函数
- 运行 JS 对象列表
- 防止动画多次运行 - js 回调
- 从子窗口的父窗口运行JS函数