2013-06-06 3 views
1

Я пытаюсь получить данные, возвращенные AJAX после успеха. Но он возвращает весь Javascript, который я повторяю в файле PHP. Мне действительно нужны только слова, которые мой JS печатает на странице.echo javascript в php

Вот код Javascript -

window.fbAsyncInit = function() { 

    FB.init({appId: 'xxxxxxxxxxx', status: true, cookie: true}); 

    FB.getLoginStatus(function(o) { 
     if (!o && o.status) return; 
     if (o.status == 'connected') { 
     document.write("connected"); 
     } else if (o.status == 'not_authorized') { 
      document.write("unauthorized"); 
     } else { 
      document.write("loggedOut"); 
     } 
    }); 

    }; 

    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 

Я хочу, чтобы сравнить полученные данные (data== connected, not_authorized, loggedOut) и показать соответствующий HTML элементы после сравнения возвращаемых данных с if..else успехом AJAX.

Буду признателен, если кто-то поможет мне в решении этой проблемы.

спасибо.

+0

Вы можете разместить свой php-код? – stackErr

+0

выше Javascript

+0

РНР скрипт называется ваш пост AJAX должен выводить только данные, необходимые для успешного выполнения запроса AJAX. Если вам нужно вывести Javascript для использования в другом месте, вы должны сделать это в отдельном скрипте (или, по крайней мере, убедиться, что вывод Javascript не возникает при вызове через AJAX). –

ответ

0

Ваш вопрос немного неоднозначен, и я бы предложил опубликовать весь контекст.

Я буду в любом случае подвергать опасности догадки. Кажется, что вы пытаетесь выполнить Javascript после успешного вызова AJAX, но в файле PHP. Это не сработает, потому что JS выполняется только в контексте браузера. Вы можете выполнять или возвращать простые строки с вашего PHP, или вы можете использовать JSONP и функцию, которую вы вставили в обратном вызове.