2015-09-05 3 views
-2

Я новичок в php и javascript. Я хочу знать о работе этой функции.Что такое работа этой функции

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 

      }); 
      function sendPushNotification(id){ 
       echo ('I am in Send Push Nottification'); 
       var data = $('form#'+id).serialize(); 
       $('form#'+id).unbind('submit');     
       $.ajax({ 
        url: "send_message.php", 
        type: 'GET', 
        data: data, 
        beforeSend: function() { 

        }, 
        success: function(data, textStatus, xhr) { 
          $('.txt_message').val(""); 
        }, 
        error: function(xhr, textStatus, errorThrown) { 

        } 
       }); 

       return false; 
      } 
     </script> 

Q) Мой вопрос заключается в том, как это фикция отправки файла PHP данных Как (http://uitdevelopers.site40.net/ClientServer/?name=qasim) EDIT Вот send_message.php

<?php 


if (isset($_GET["regId"]) && isset($_GET["message"])) { 
    $regId = $_GET["regId"]; 
    $message = $_GET["message"]; 

    include_once 'gcm.php'; 

    $gcm = new GCM(); 

    $registatoin_ids = array($regId); 
    $message = array("price" => $message); 

    $result = $gcm->send_notification($registatoin_ids, $message); 

    echo $result; 
} 
?> 

Это мой файл PHP и я хочу, чтобы выполнить но я не могу понять эту функцию

Редактировать Это мой index.html. Где я хочу назвать эту функцию Но он не может работать. Он работает staticaly, но когда я отправить данные динамически не может работать

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 

      }); 
      function sendPushNotification(id){ 
       echo ('I am in Send Push Nottification'); 
       var data = $('form#'+id).serialize(); 
       $('form#'+id).unbind('submit');     
       $.ajax({ 
        url: "send_message.php", 
        type: 'GET', 
        data: data, 
        beforeSend: function() { 

        }, 
        success: function(data, textStatus, xhr) { 
          $('.txt_message').val(""); 
        }, 
        error: function(xhr, textStatus, errorThrown) { 

        } 
       }); 

       return false; 
      } 
     </script> 

    </head> 
    <body> 
     <?php 
     require_once('db_functions.php'); 
     $db = new DB_Functions(); 
     $users = $db->getAllUsers(); 
     if ($users != false) 
      $no_of_users = mysql_num_rows($users); 
     else 
      $no_of_users = 0; 
     ?> 
     <div class="container"> 
      <h1>No of Devices Registered: <?php echo $no_of_users; ?></h1> 
      <hr/> 
      <ul class="devices"> 
       <?php 
       if ($no_of_users > 0) { 
        ?> 
        <?php 
        while ($row = mysql_fetch_array($users)) { 
         ?> 
         <li> 
          <form id="<?php echo $row["id"] ?>" name="" method="post" 
          onsubmit="return sendPushNotification($row["id"])"> 
           <label>Name: </label> <span><?php echo $row["name"] ?></span> 
           <div class="clear"></div> 
           <label>Email:</label> <span><?php echo $row["email"] ?></span> 
           <div class="clear"></div> 
           <div class="send_container">         
            <textarea rows="3" name="message" cols="25" class="txt_message" 
            placeholder="Type message here"></textarea> 
            <input type="hidden" name="regId" value="<?php echo $row["gcm_regid"] ?>"/> 
            <input type="submit" class="send_btn" value="Send" 
            onclick="sendPushNotification($row["id"])"/> 
           </div> 
          </form> 
         </li> 
        <?php } 
       } else { ?> 
        <li> 
         No Users Registered Yet! 
        </li> 
       <?php } ?> 
      </ul> 
     </div> 
    </body> 
</html> 
+1

Я хочу знать, как [jQuery '$ .ajax()' работает тоже] (https://api.jquery.com/jquery.ajax/). – Joseph

+0

отправляет данные через ajax. Это то, что вы хотели знать? – CodeGodie

+0

Что вы пытаетесь достичь? – CodeGodie

ответ

0

она собирает данные из вашей формы в стороне клиента с помощью $('selector').serialize(); из JQuery и получить это все данные внутри вашего PHP, то если ваша сторона серверов не имеет ошибок, которые бросаются обратно на сторону клиента, чтобы показать все данные путем использования success если это успех или error, если он терпит неудачу. Ajax предназначен для запроса вашего результата без перезагрузки вашей страницы.

1

$.ajax средства, метод вызова ajax от объекта $

этого метод будет использовать HTTP GET метод, это означает, что массив будет data прилагается к URL send_message.php после вопросительного знака ?

, как только url не начинается с / или протокола (например, http: //), cur аренда протокола, имя хоста и путь будет использоваться, так что окончательная строка будет PROTOCOL://HOST[:PORT]/PATH/send_message.php?form_field_name=form_field_value&form_field_name2=form_field_value2

после формирования полного URL, этот метод будет использовать браузер в зависимости от метода (например XMLHTTPRequest), чтобы вызвать этот адрес и вызвать вашу функцию JS success с результатом

+0

Хорошо объяснение Я добавляю некоторые детали, вы можете проверить, почему он не работает – nafees4343

Смежные вопросы