I have a curl that works fine. The file where the cURL is placed is a PHP file, executed by .ajax
I am echoing an $apikey
at the end of the PHP file, without the cURL script. it prints correctly.
However, as soon as I put the cURL the $apikey
stops printing the
$ch = curl_init("https://url"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Authorization: Bearer $apikey", "Content-Type: application/json; charset=utf-8", "Content-Length: " . strlen($data_string) )); $json = curl_exec($ch); curl_close($ch); //close the connection echo $apikey;
if I remove the curl_init
line the $apikey
is printed correctly.
I was thinking that somehow the cURL result was blocking anything executing after that, but realized that also $json
is not printing if I try.
I have tried using also curl_setopt($ch, CURLOPT_VERBOSE, false);
but no difference.
Couldn’t find anything helpful here either.
Any idea of what might be the problem?
UPDATE The Ajax piece
$.ajax({ url: "curl.php", method: "POST", data: { date: date, time: time, account: account, userid: userid }, success: function(response) { console.log(response); alert(response); } });
Advertisement
Answer
From the comments / chat it would appear the root cause of the issue was that your AJAX call was never really working because a form was submitting at the same time and causing a page refresh. So removing this form submit will cause the button simply to fire the AJAX request and nothing else. Then everything works as intended. cURL is not at fault.