【问题标题】:PHP - Ajax call won't run API without wait / print_rPHP - Ajax 调用不会在没有等待/print_r 的情况下运行 API
【发布时间】:2016-06-01 09:42:12
【问题描述】:

我有一个通过 onClick 事件与 jQuery 一起运行的脚本,我通过该函数传递了一些信息。这是我的事件脚本。

$.post("page.php", { ... }, function(ret){ alert(ret); });

page.php中,我调用了一个发送消息的API,页面完全是PHP,没有HTML。一切正常,但消息未发送。但是,如果我直接从 web 运行相同的页面(没有 ajax 调用)运行并发送消息。

page.php

$params = array(
    'str'  => $sms_content, // sms content
    'num'   => $cell_no,    // mobile number
);

$url = '.....api.php?'. http_build_query($params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);


if (curl_errno($ch)){
    $result = curl_error($ch);
    $str = 'send message fail';
} else{
    $result = curl_exec($ch);
    $str = 'send message success';
}
echo $str;

注意:如果我在 page.php 页面中添加print_r(),那么 API 会发送消息。

有什么问题,我该怎么办??

【问题讨论】:

  • 请在此处插入完整代码。
  • 一些 API 问题; 注意: 如果我直接运行page.php(不使用 ajax)就可以了。但问题在于 ajax。
  • 你能把代码贴在page.php吗?
  • page.php 代码添加
  • $cell_no 的值是多少?我的意思是你从哪里得到它?来自$_GET。或者,如果您从 jQuery 调用这个 php 脚本,您是否传递了单元格编号?

标签: php jquery ajax api


【解决方案1】:

Ajax 直接到 api

    $params = {
        str:sms_content, // sms content
        num:cell_no    // mobile number
    };

  $.get("...api.php", { ... }, function(ret){ alert(ret); });

【讨论】:

  • 是的,我这样做了。这不是问题。
  • 我不需要真正从该页面获取返回消息,我只需要 API 工作。
  • 这不是答案。
  • 你为什么不直接 ajaxing 到 api??
  • 我该怎么做?
猜你喜欢
  • 1970-01-01
  • 2014-10-24
  • 2021-11-18
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
  • 2016-06-24
相关资源
最近更新 更多