проблема с обновлением страницы после двух вызовов ajax - PullRequest
0 голосов
/ 13 ноября 2010

Проблема Я делаю ajax-вызов на server1, т.е. csce, и как только я получаю ответ, я отправляю ответ в виде содержимого на сервер server2 ieyahoo, после получения ответа оттуда, я хочу обновить страницу или, по крайней мере, перенаправить его на ту же страницу. Оба вызова ajax работают нормально. Содержимое, которое я отправляю, также сохраняется, единственная проблема в том, что мне нужно вручную обновить страницу, чтобы увидеть изменения. Я хочу обновить страницу, как только содержимое сохранено на Yahoo. Я попытался перезагрузить и перенаправить команды в функции успеха Yahoo. Но ничего не работает. Я вижу оба вызова ajax в HTTPfox, но не перенаправление.

URL-адрес, с которого я выполняю вызовы, отличается от URL-адреса, на котором сохраняется содержимое, поэтому мне нужно обновить страницу, чтобы увидеть изменения. я сохраняю в Yahoo / Save, отправляя содержимое и просматривая изменения в Yahoo / edit.

Я не уверен, куда я иду не так. Вот мой код, который я использую. Может кто-нибудь подсказать, где я иду не так. Если моя проблема не ясна, просим меня уточнить. Спасибо.

Этот код является кодом:

 function handleButtonClick()
{
// Declare the variables we'll be using
var xmlHttp, handleRequestStateChange;

   // Define the function to be called when our AJAX request's state changes:
handleRequestStateChange = function()
{
    // Check to see if this state change was "request complete", and
    // there was no server error (404 Not Found, 500 Server Error, etc)
    if (xmlHttp.readyState==4 && xmlHttp.status==200) 
    {
        var substring=xmlHttp.responseText;

        alert(substring);// I am able to see the text which is returned by the server1 i.e csce
var handleSuccess = function(o)
 {
   if(o.responseText !== undefined)
   {
     console.log(o.responseText);
 **window.location.reload()** // also I tried to redirect it to the same site but that also not works


  }
 };
var callback ={ success:handleSuccess,  failure: function(x) {
console.error(x) }, argument: ['foo','bar']};
var request = YAHOO.util.Connect.asyncRequest('POST','http://yahoo.com******', callback, substring);

    }
}

xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://cse*****id=c6c684d9cc99476a7e7e853d77540ceb", true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
 }

Ответы [ 2 ]

2 голосов
/ 13 ноября 2010

Вы просто хотите отобразить контент на своей странице?Почему бы вам не попробовать что-то вроде document.getElementById('divID').innerHTML = xmlHttp.responseText;?

С divID, являющимся идентификатором div, которым вы хотите заполнить содержимое.

0 голосов
/ 16 ноября 2010

попробуйте выполнить в функции handleRequestStateChange

window.location.href = window.location.href;
...