PHP Curl和json post错误false

PHP Curl和json post错误false,php,ajax,api,curl,post,Php,Ajax,Api,Curl,Post,在使用PHP curl和ajax方面,我是个新手 我被要求做以下工作(附上一张图片供您考虑)。。这里有一些要求 最初,我尝试使用jquery ajax发送请求,但不起作用。代码如下: function sendAPI(){ $.ajax({ url: "https://someurl.com/api/page/index", headers: { 'x-api-key':"[API KEY GIVEN BY THE COMPANY]", 'C

在使用
PHP curl和ajax方面,我是个新手

我被要求做以下工作(附上一张图片供您考虑)。。这里有一些要求

最初,我尝试使用
jquery ajax
发送请求,但不起作用。代码如下:

function sendAPI(){
  $.ajax({
    url: "https://someurl.com/api/page/index",
    headers: {
        'x-api-key':"[API KEY GIVEN BY THE COMPANY]",
        'Content-Type':'application/json'
    },
    method: 'POST',
    dataType: 'jsonp',
    data: {
      id: "7001345730",
      recordNo: "1000000000",
      recordDate: "2017-12-12",
      phone: "+966555555555",
      extension: "1234",
      email: "feras@test.com",
      managerName: "Amjad",
      managerPhone: "+966555555555",
      managerMobile: "+966555555555"
    },
    success: function(data){
      console.log('lllk');
      console.log('succes: ' + data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){
      console.log("textStatus: ", textStatus);
      console.log("errorThrown: ", errorThrown);
    }
  });
}
sendAPI();
我的控制台上显示以下错误消息

请注意:
我尝试了json和jsonp数据类型,但结果相同
text状态:错误 错误抛出:错误

后来我尝试了
php curl
,但我也发现了错误

以下是php curl代码:

$id ="7001345730";
$recordNo = "1000000000" ;
$recordIssueDate = "2017-12-12" ;
$phone = "+966555555555" ;
$extension = "1234" ;
$email = "feras@test.com" ;
$managerName = "Adeel Essa" ;
$managerPhone = "+966555555555" ;
$managerMobile = "+966555555555";

$data = array( 
  "id" => $id,
  "recordNo" =>  $recordNo,
  "recordIssueDate" =>  $recordIssueDate,
  "phone" =>  $phone,
  "extension" =>  $extension,
  "email" =>  $email,
  "managerName" =>  $managerName,
  "managerPhone" =>  $managerPhone,
  "managerMobile" =>  $managerMobile,
);


$ch = curl_init('https://someurl.com/api/page/index');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Content-Type: application/json',
  "x-api-key: 56DAAC8KAD-SFOL9267B-B97E1A9E"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$result = curl_exec($ch); //get return String
echo json_encode($result);


if (curl_error($ch)) {
  $error_msg = curl_error($ch);
}
curl_close($ch);

if (isset($error_msg)) {
    print_r($error_msg);
}
当我执行上述代码时,我得到以下错误:

false
Failed to connect to wasl.elm.sa port 443: Timed out 

最后,我唯一的问题是:

  • 如果我做得对,或者我的代码中缺少一些东西
  • JQuery和PHP CURL代码上
  • 如果是,我需要改变什么
  • 上图中也提到了要求


    请帮助

    İ在图像上显示应用程序JSON。但是您使用的是数据类型:“jsonp”,wht说您使用chrome控制台连接到ajax连接?你确定使用JsonP的api响应正确吗?@MikeAron我尝试了
    json
    JsonP
    ,但都是一样的result@amjad从你们提供的图片来看,似乎有些URL是一个域,而不是实际的域。它只是一个不存在的虚拟URL,因此您得到的是超时响应。@Prathamespalav我删除了该URL,原因是这不是我发布的URL。它只是一个隐藏机密性的虚拟URL,因为我不想显示该文档中的任何内容。
    $data
    实际上是一个JSON编码的字符串?您是通过json_encode()运行它的吗?您是否验证了json_encode实际返回的是字符串,而不是bool(false)或NULL?(这意味着json_编码由于某种原因失败)