php - PHP Curl 和 json 发布错误 false
问题描述
在使用方面我是新手PHP curl and 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();
我的控制台上显示以下错误消息
请注意: I tried both json and jsonp dataType but same result
textStatus: error errorThrown: error
之后我尝试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 and PHP CURL codes
。 - 如果是这样,我需要改变什么。
上图中也提到了要求
请帮忙
解决方案
推荐阅读
- arm - 为什么此链接描述文件会产生非一地址?
- python-3.x - 如何使用 Python 的 dns 解析器捕获 SERVFAIL 异常?
- pine-script - 非常简单的 Pine 脚本错误:无法调用策略参数
- php - 通过链接而不是集成的弹出窗口使用 PayPal 登录
- php - 具有多个帐户/电子邮件地址的 Gmail API
- scala - Spark 数据集写入镶木地板文件需要很长时间
- javascript - 为什么 JavaScript 的 fetch() 不需要检查状态码 304?
- floor - 设计一个不按比例的平面图?
- typescript - 从对象输入生成动态属性
- python - 我收到错误和回溯尝试发送带有硒的whatsapp