【问题标题】:When running ajax with cron its not executing the PHP file where I need to save the data使用 cron 运行 ajax 时,它不会执行我需要保存数据的 PHP 文件
【发布时间】:2018-01-25 23:03:44
【问题描述】:

我正在尝试通过 ajax 使用文件 add.php 将数据保存到 MySQL。我正在通过 cron.php 获取数据。当我在浏览器中运行 cron.php 文件时会保存数据,但在运行 cron 作业时不会保存数据。

这是我的代码:

cron.php

  $.ajax({
              method: 'POST',
              url:    'add.php',
               data: { id: id, videoid: vids }
               })
              .done(function(data) {   
                          });

添加.php 我在数据库中插入 id 和 videoid。 谁能帮我使用 cron 和 ajax 和 php 插入数据

【问题讨论】:

  • 当你从命令行调用一个 php 脚本时,你只是得到输出并且其中的 javascript 没有被执行。所以对于 cron 你需要一个不依赖 ajax / javascript 的 php 脚本。
  • 我有兴趣了解 ajax(面向 UI 的架构)和 cron(非面向 UI 的架构)的有用组合。我错过了什么
  • tyhen 我如何执行通过 ajax 和 javascript 传递值
  • 不,你不是。当您从命令行 / cron 使用 php 时不会。

标签: php jquery mysql ajax cron


【解决方案1】:

Ajax 是前端,而 cron 作业是纯服务器后端。
你应该创建一个类似于 add.php 中的函数,或者从你的 cron.php 中调用它,而不是使用 ajax,并将参数传递给它。

【讨论】:

    【解决方案2】:

    如果您需要通过 POST 向 add.php 发送数据,您可以在 cron.php 中使用 CURL 代替您的 jQuery 代码。

    另一种解决方案是使用 GET 参数(而不是 POST)直接将数据发送到 add.php。

    【讨论】:

    • 你能给我卷曲的样本吗?我不太清楚
    • //设置 POST 变量 $url = 'example.com/add.php'; $fields = array('id' => $id, 'videoid' => $videoId); //url-ify POST 的数据 foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string, '&'); //打开连接 $ch = curl_init(); //设置url,POST vars的数量,POST数据 curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); //执行发布 $result = curl_exec($ch); //关闭连接 curl_close($ch);
    猜你喜欢
    • 2015-03-20
    • 1970-01-01
    • 2011-09-19
    • 2019-11-06
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2016-05-27
    • 2019-10-28
    相关资源
    最近更新 更多