PHP – La llamada Ajax no ejecutará la API sin esperar / imprimir_r

Tengo un script que se ejecuta con jQuery a través del evento onClick, paso cierta información a través de esa función. Aquí está mi script de evento.

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

En page.php , llamo a una API para enviar mensajes, la página es completamente PHP, no hay HTML. Todo funciona bien pero el mensaje no se envía. Pero si ejecuto la misma página directamente desde la web (sin una llamada ajax), ejecute y envíe un mensaje.

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; 

Nota: Si agrego print_r() en la página page.php , la API envía mensajes.

¿Cuál es el problema? ¿Qué puedo hacer?

Ajax directamente a la api

  $params = { str:sms_content, // sms content num:cell_no // mobile number }; $.get("...api.php", { ... }, function(ret){ alert(ret); });