小编Dav*_*ron的帖子

在PHP中检测Ajax

我正在尝试将ajax发布到同一个php页面.

阿贾克斯:

$("#loginForm").submit(function(e) {
    e.preventDefault();
    var postData = $(this).serialize();
    $.post("login.php", postData);
});
Run Code Online (Sandbox Code Playgroud)

postData是正确的,格式如下:

username=john&password=123123
Run Code Online (Sandbox Code Playgroud)

PHP(同页):

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
      echo 'Ajax Request Detected';
}
Run Code Online (Sandbox Code Playgroud)

但是,此if-check始终返回false,并且永远不会执行回显线.我在这做错了什么?

php forms ajax jquery login

3
推荐指数
1
解决办法
4371
查看次数

Paypal IPN - 检查付款状态是否完成?

我有一个销售网站的电子书,用户可以在购买后下载一本书.我从Paypal收到IPN,据我了解,如果用户选择信用卡作为付款方式,有时付款状态为"进行中"或"正在处理".由于Paypal将在付款完成后重新发送IPN,检查付款状态是否完成的最佳方法是什么,以避免数据库中的重复?

php paypal

3
推荐指数
1
解决办法
9886
查看次数

无法从CasperJS中的thenEvaluate()函数中访问变量

我最近开始学习CasperJS,我正在尝试登录YouTube.这是我目前的代码:

// XPathSignInButton is predefined
var Username = 'user123';
var Password = 'pass123';

casper.waitForSelector(xPathSignInButton, function() {
    this.thenEvaluate(function() {
        $('#Email').val(Username);
        $('#Passwd').val(Password);
    });
}); 
Run Code Online (Sandbox Code Playgroud)

上面的代码不会操作输入字段(不会在其中写入),但是如果我替换thenEvaluate()this.fillSelectors(),则会正常访问变量并且一切正常:

// XPathSignInButton is predefined
// signInFormSelector is predefined
casper.waitForSelector(xPathSignInButton, function() {
    this.fillSelectors(signInFormSelector, {
        'input[name="Email"]': Username,
        'input[name="Passwd"]': Password
    });
});
Run Code Online (Sandbox Code Playgroud)

我首先想到我如何调用jQuery有一个问题,但当我用实际的字符串替换变量时:$('#Email').val('user123');$('#Email').val('pass123');- 它就像一个魅力.

我的问题是如何从thenEvaluate()函数中访问变量.它可能吗?

javascript scope phantomjs casperjs

2
推荐指数
1
解决办法
2201
查看次数

标签 统计

php ×2

ajax ×1

casperjs ×1

forms ×1

javascript ×1

jquery ×1

login ×1

paypal ×1

phantomjs ×1

scope ×1