2016-01-16 2 views
4

У меня есть переменная 1 javascript, и я хочу передать i в мой файл php. я ищу об этом, и я нахожу, что использовать ajax, но я действительно не знаю, как это использовать! вот мой код. где я делаю неправильно? мой .js файл:Передать переменные javascript в PHP использовать AJAX

var message1 = message.message; 

     var jq = document.createElement('script'); 
     jq.src = "https://code.jquery.com/jquery-1.10.2.js"; 
     document.querySelector('head').appendChild(jq); 

      $(document).ready(function() { 
       $.ajax({ 
         type: "POST", 
         url: 'http://localhost/a.php', 
         data: { newMessages : message1 }, 
         success: function(data) 
         { 
          alert("success!"); 
         } 
        }); 
     }); 

мой a.php файл:

<?php 
    if(isset($_POST['newMessages'])) 
    { 
     $uid = $_POST['newMessages']; 
     echo $uid; 
    } 
?> 
+0

Как я могу узнать, что он уволен или нет? –

+2

Любая конкретная причина для загрузки 'jQuery' асинхронно. Всегда держите консоль открытой во время разработки. – Rayon

+0

Используйте console.log() или alert, чтобы узнать, что находится в newMessages и message1, не видите newMessages, определенные ... – Andrew

ответ

1

Listen onload event of the asynchronously loaded script and execute your function in callback function.[ Ref ]

Попробуйте это:

function loadScript(src, callback) { 
    var s, 
    r, 
    t; 
    r = false; 
    s = document.createElement('script'); 
    s.type = 'text/javascript'; 
    s.src = src; 
    s.onload = s.onreadystatechange = function() { 
    if (!r && (!this.readyState || this.readyState == 'complete')) { 
     r = true; 
     callback(); 
    } 
    }; 
    t = document.getElementsByTagName('script')[0]; 
    t.parentNode.insertBefore(s, t); 
} 

var message1 = "My message"; 
loadScript('https://code.jquery.com/jquery-1.10.2.js', function() { 

    $(document).ready(function() { 
    $.ajax({ 
     type: "POST", 
     url: 'http://localhost/a.php', 
     data: { 
     newMessages: message1 
     }, 
     success: function(data) { 
     alert("success!"); 
     } 
    }); 
    }); 
}) 
+0

SyntaxError: в строгом режиме, функции могут быть объявлены только на верхнем уровне или сразу же в пределах другой функции –

+0

вот моя консоль результат –

+0

Какая ошибка? – Rayon

-1

Файл PHP должен возвращать данные в формате JSON. Вы можете добавить полную, всегда ошибку в свой Ajax, чтобы лучше поймать результат.

+0

Зачем? JavaScript не говорит 'dataType:" json "'. – Quentin

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