Ajax javascript вызов файла php ничего не делает.Что мне не хватает? - PullRequest
1 голос
/ 26 января 2011

У меня есть простая настройка, позволяющая пользователю изменять свой контент на странице.

Вызывает запрос и заполняет область результатами. Моя цель состоит в том, чтобы пользователь ввел некоторую новую информацию, вставил эту информацию в таблицу и запросил результаты.

Вот моя функция Javascript, которая называется:

function addLink(){
 var ajaxRequest;

 if(window.XMLHttpRequest){
  ajaxRequest = new XMLHttpRequest();
 } 
 else{
  ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
 }

 ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4 && ajaxRequest.status==200){
   var ajaxDisplay = document.getElementById('links');
   ajaxDisplay.innerHTML = "<?php displayTitle('Links'); ?><?php displayContent('Links', $isLoggedIn); ?>"
  }
  var imgURL = document.getElementById('links_img').value;
  var linkURL = document.getElementById('links_link').value;
  var queryString = "?imgURL=" + imgURL + "&linkURL=" + linkURL;
  ajaxRequest.open("GET", "addLink.php" + queryString, true);
  ajaxRequest.send();  
 }

}

Эти функции PHP просто выплевывают HTML, displayContent () специально для фактических данных таблицы.

Вот мой HTML-код для добавления информации в базу данных:

<center><br /><br />
Image URL: <input type='text' id='links_img' />
Link URL: <input type='text' id='links_link' />
<input type='button' onclick='addLink()' value='add' /></center>

Вот мой PHP для добавления информации:

<?php

 mysql_connect([sensitive information]) or die(mysql_error());
 mysql_select_db([sensitive information]) or die(mysql_error());

 $result = mysql_query("INSERT INTO linksMod (Image URL, Link URL) VALUES ("$_GET['imgURL']","$_GET['linkURL']") or die(mysql_error());

        mysql_close();
?>

Когда я нажимаю кнопку «Добавить», страница ничего не делает.

Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 26 января 2011

Эти строки:

  var imgURL = document.getElementById('links_img').value;
  var linkURL = document.getElementById('links_link').value;
  var queryString = "?imgURL=" + imgURL + "&linkURL=" + linkURL;
  ajaxRequest.open("GET", "addLink.php" + queryString, true);
  ajaxRequest.send();

должно быть за пределами функции обработчика readystatechange. Как это написано сейчас, они внутри функции-обработчика и, поскольку она не вызывается, они никогда не произойдут.

0 голосов
/ 26 января 2011
ajaxDisplay.innerHTML = "<?php displayTitle('Links'); ?><?php displayContent('Links', $isLoggedIn); ?>"

Я не думаю, что возможно встроить php в javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...