2016-06-15 5 views
0

JavaScript 파일에서 PHP 파일로 데이터를 보내면 PHP 서버 측에서해야 할 일을 수행 할 수 있습니다. SMS를 보내고 싶습니다. 자바 스크립트가 오는 모든 데이터를 읽으므로 남아있는 모든 것은 PHP가 이미 PHP 파일을 사용하여 SMS로 데이터를 보내고 보내는 것입니다. 나는 그 (것)들을 보낼 수있을 위하여 연결할 필요가있다..js 파일에서 .php 함수 파일을 실행하는 방법

PHP가 함수를 처리 할 수 ​​있습니까? 그게 내 .js 파일에서 PHP의 함수로 데이터를 보내서 여기서하려고하는 것입니다. 그렇지 않은 경우 게시물을 통해 어떻게 보내나요?

의 .js 파일 :

render : function(template,params){ 

    var arr = []; 
    switch(template){ 

     case 'smsLine': 
      arr = [ 
       '<div class=" sms-',params.id,' rounded"><span class="gravatar"><img src="',params.gravatar, 
       '" width="23" height="23" onload="this.style.visibility=\'visible\'" />', 
       '</span><span class="author">',params.author, 
       ':</span><span class="text">',params.text, 
       ':</span><span class="text">',params.to, 
       '</span><span class="time">',params.time,'</span></div>']; 

       ///////////////////////////////HERE///////////////////////////////// 
       //this is where I want to use a function that is in a php file 
       sendSMS(params.author, params.text, params.time, params.to); 

       ///////////////////////////////HERE//////////////////////////////// 
     break; 

    } 

    return arr.join(''); 
} 

이 내 PHP 파일에 사용할 수있는 기능입니다.

.PHP 파일 :

당신이 당신의 프런트 엔드에 jQuery를 끌어 당길 경우
function sendSMS($from, $message, $time, $to){ 
    $objGsm = new COM("AxSms.Gsm", NULL, CP_UTF8); 
    $objGsm->LogFile = sys_get_temp_dir()."Gsm.log"; 
    //Windows default: 'C:\Windows\Temp\Gsm.log' 

    //Form submitted 

    $obj; 
    $strMessageReference; 
    $objSmsMessage = new COM("AxSms.Message", NULL, CP_UTF8); 
    $objSmsConstants = new COM("AxSms.Constants" , NULL, CP_UTF8); 

    $strName = 'Modem'; 
    $strPincode = ''; 
    $strRecipient = '$number'; 
    $iDeviceSpeed = '0'; 

    $objGsm->Clear(); 
    $objGsm->LogFile = ''; 
    $objGsm->Open($strName, $strPincode, $iDeviceSpeed); 

    if ($objGsm->LastError != 0){ 
     $strResult = $objGsm->LastError . ": " . $objGsm->GetErrorDescription($objGsm->LastError); 
     $objGsm->Close(); 
    } 
    else{ 
     //Message Settings 
     $objSmsMessage->Clear(); 
     $objSmsMessage->ToAddress = $to; 
     $objSmsMessage->Body = $message; 

     $objSmsMessage->DataCoding = $objSmsConstants->DATACODING_UNICODE; 

     //Send the message ! 
     $obj = $objSmsMessage; 
     $objGsm->SendSms($obj, $objSmsConstants->MULTIPART_ACCEPT, 0); 
     $objSmsMessage = $obj; 

     $strResult = $objGsm->LastError . ": " . $objGsm->GetErrorDescription($objGsm->LastError); 

     $objGsm->Close(); 
    } 
} 
+0

Ive는 항상 var abc = ' '; – Kray

+0

@Levi하지만 이것은 하나의 변수가 아니라 전체 코드입니다. – learningbyexample

+0

var abc = ''; ? – Kray

답변

0

, 당신은 당신을 위해 PHP 기능을 수행 할 수있는 AJAX 요청을 보낼 수 있습니다.

$.ajax() { 
    url: "/send/sms", 
    type: "POST", 
    data: { 
     author: params.author, 
     text: params.text, 
     time: params.time, 
     to: params.to, 
    } 
} 

지금 당신이해야 할 것하면 AJAX 요청, 그들은이 전화로 전송하는 파일을 만들 수 있습니다 : 그것은 바로의 .js 코드에서 그 sendSMS 부분에 삽입이 뭔가를 (볼 것 "end point". 나의 예에서는이 파일의 경로를/send/sms로 설정했기 때문에 이메일이나 SMS 등을 보낼 수있는 "send"라는 디렉토리가있을 수 있습니다. 이 예제의 경우, YOUR_ROOT_DIRECTORY/send 안에 sms.php 파일을 작성하십시오.

PHP가 AJAX 요청을 보내면 PHP 기능이 실행됩니다. 주어진 데이터는 $_POST['author']을 사용하십시오. , $_POST['text']

+0

나는 sendSMS()를 시도했다; 스위치 케이스 안의 .js ... 함수의 sendSMS() { $ .ajax() { url : "/ send/sms", 유형 : "POST", 데이터 : 저자 : params.author, 텍스트 : params.text, 시간 : params.time에 : params.to, } } }하지만 당신은 당신이 사용하는 어떤 DevTools로 열 경우는 – learningbyexample

+0

작동하지 않습니다 브라우저에서/send/sms로 전송되는 요청을 볼 수 있습니까? – dargue3

+0

비워져 데이터베이스에서 프리 비 오스 데이터를 가져 오지 않습니다 – learningbyexample

관련 문제