2

所以我试图用 phantomjs 获取页面的源代码,然后使用 jquery 将该源代码发布到 php 页面以进行进一步处理。

这是我的第一个 PHP 页面

    <?php
$output = shell_exec("sudo /usr/local/bin/phantomjs --proxy=127.0.0.1:8118 --web-security=false ./test.js");
?>

它触发 test.js 就好了!

我在 Linux CentOS 64bit 上运行 phantomjs

下面是 Test.js,我想转到一个 git hub 页面,然后一旦加载,我想评估页面,获取页面的 html,注入 jQuery 确保没有冲突,然后将该页面源发送到 post -put-or-get.php。

我已经测试了 jquery,它正在被注入并且基本的 dom 操作正在工作,我可以更改 git hub 页面的字体大小等

我已经尝试过发布、放置和获取,Test.js 页面上的所有内容都有效,但 Jquery Ajax 调用无效?

我已经尝试过打开和关闭异步,不同的内容类型,但它就像 jQuery.ajax 出于某种原因被忽略了?

我什至尝试放弃 jquery 并仅使用 javascript 尝试发布但仍然没有,我只是不能发布?

我是在做一些疯狂的事情还是应该修复的东西坏了?

    var page = require('webpage').create();

page.onConsoleMessage = function(msg) {
    console.log(msg);

};
page.open("https://github.com/logxen/SmoothieBoard/tree/feature/5driver", function(status) {

    if ( status === "success" ) {

    page.evaluate(function() {
    data = document.body.innerHTML;
    console.log(data);


    page.injectJs('jquery-1.7.2.min.js');
    jQuery.noConflict();
    jQuery.ajax({
      type:'POST',
      async: false ,
      url:'post-put-or-get.php',
      contentType: 'application/x-www-form-urlencoded',
      data:'htmlsource='+data,
      success:function(datafeed) {
        if(datafeed) {
            console.log(datafeed);
        } else { 
            console.log("no joy"); 
        }
      }
   });


    });
    phantom.exit();

    }
});
4

0 回答 0