У меня есть две функции JS, которые преформируют вызовы AJAX, я хотел их протестировать, поэтому создал два абзаца с разными идентификаторами, которые будут содержать результат текста ответов:
<script type="text/javascript">
trackApplicationAdded('1139631160', '12445'); //should change test1 paragraph
trackApplicationRemoved('1139631160'); //should change test2 paragraph
</script>
<p>Test1: <span id="test1"></span></p>
<p>Test2: <span id="test2"></span></p>
КогдаЯ запускаю каждую функцию отдельно (commenting
из них), каждая меняет свой собственный абзац, как и ожидалось, но когда я запускаю обе из них, я вижу только изменение абзаца, сделанное LAST function.
У меня есть функция, которая создает XMLHttpRequest, который получает переменную test
, которая отправляет идентификатор абзаца, который должен быть изменен каждой функцией (и, как уже было отмечено, он работает, когда каждая вызывается сама по себе).
function sendRequest(url, params, test)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest)
{
httpRequest=new XMLHttpRequest();
}
else // code for IE6, IE5
{
httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
httpRequest.open("POST", url, true);
//Set request headers for POST command//
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Content-length", params.length);
httpRequest.setRequestHeader("Connection", "close");
httpRequest.onreadystatechange=function()
{
if(httpRequest.readyState==4 && httpRequest.status==200)
{
//Here you can see "test" which, depends on the function, is test1 or test2//
document.getElementById(test).innerHTML=httpRequest.responseText;
}
}
httpRequest.send(params);
//end when the server will responde we will execute the "document.getElementById("txtHint").innerHTML=xmlhttp.responseText;" //
}
Кстати, AJAX преформует базу данных insert
с помощью функций PHP и все работает хорошо в любой ситуации.Важно отметить, что проблема заключается только в изменениях абзаца, а не в том, что происходит на сервере.
У кого-нибудь есть идеи, как решить эту проблему?Спасибо ...
РЕДАКТИРОВАТЬ
Вот код 2 функции:
function trackApplicationAdded(fID, fappID)
{
var url = "trackApplicationAdded.php";
var params = "facebookID=" + fID + "&facebookApplicationID=" +fappID;
sendRequest(url,params, "test1");
}
function trackApplicationRemoved(fID)
{
var url = "trackApplicationRemoved.php";
var params = "facebookID=" + fID;
sendRequest(url,params, "test2");
}