[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    PHP:
    <style type="text/css">
    a.blocked {
        
    color#646363;
    }
    a.unlocked {
        
    color#333333;
    }
    </
    style>
    <
    script type="text/javascript">
        var 
    clicked = {};
        for( var 
    itemId in document.getElementsByTagName('a') ) {
            if( !
    isNaN(parseFloat(itemId)) ) {
                var 
    element document.getElementsByTagName('a')[ itemId ];
                
    element.setAttribute('rel'itemId);
                
    element.className += 'blocked';
                if( 
    itemId == element.className element.className.replace('blocked''unlocked');
                
    element.onclick = function() {
                    var 
    thisId = +this.getAttribute('rel');
                    if( 
    thisId == ) {
                        
    clickedLinkthisId );
                    }else {
                        if( !
    clickedthisId 1] )
                            return 
    false;
                        else 
                            
    clickedLinkthisId );
                    }
                }
            }
        }
        function 
    clickedLinklinkId ) {
            
    clickedlinkId ] = true;
            if( 
    typeof document.getElementsByTagName('a')[linkId 1] !== 'undefined' ) {
                
    document.getElementsByTagName('a')[linkId 1].className document.getElementsByTagName('a')[linkId 1].className.replace('blocked''unlocked');
            }
            return 
    true;
        }
    </script>
     
  2. Moneymaker8

    Moneymaker8 New Member

    Joined:
    13 Apr 2013
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Если ещё актуально, посмотрите тут, возможно поможет.
     
  3. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Отправляю запрос аяксом, если скрипт выполнился нормально, то он выводит "OK".
    PHP:
            $.ajax({
                
    type"POST",
                
    url"administration.php",
                
    datapostData,
                
    success: function(msg) {
                    if(
    msg == "OK") {
                         
    alert('Data was edited');
                         
    location.reload();
                    } 
                    else {
                         
    alert('Error '+msg);
                    }
                }
            });
    Так вот условие msg=="OK" всегда false, хотя второй алерт выводит "Error OK". В чем может быть проблема?
     
    #3723 0o Chris o0, 2 May 2013
    Last edited: 2 May 2013
  4. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    0o Chris o0, в кодировках может быть проблема.
     
    _________________________
  5. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Хм, ну посланные аяксом данные в скрипте разбираются нормально.
     
  6. funny_kaplan

    funny_kaplan New Member

    Joined:
    28 Mar 2013
    Messages:
    43
    Likes Received:
    4
    Reputations:
    0
    0o Chris o0
    а без location.reload(); работает?
     
  7. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Аякс запрос

    PHP:
    function update_anime(id){
            var 
    myData={"anime_id":"id","anime_name_ukr":"Берсерк-тест"};
            $.
    ajax({ 
                
    type'POST'
                
    url'http://sensetivity-raws.site90.net/anime.php'
                
    data: {"anime_update":JSON.stringify(myData)}, 
                
    dataType'json',
                
    success: function (data) { 
                    
    alert("success!");
                },
                
    error: function(jqXHRtextStatuserrorThrown){
                    
    alert(jqXHR);
                    
    alert(textStatus);
                    
    alert(errorThrown);
                }
            });
        }
    серверная часть

    PHP:
    <?php
    header
    ('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
    if(isset(
    $_POST['anime_update'])){    
        
    $obj json_decode($_POST['anime_update']);
        
    $aid $obj->{'anime_id'};
        
    $x4 $obj->{'anime_name_ukr'};
        echo 
    "$aid $x4";
    } else {
        echo 
    'Fuck off';
    }
    ?>
    Возвращает "unexpected end of input"

    В чем причина?
     
    #3727 Mykola-bas, 2 May 2013
    Last edited: 3 May 2013
  8. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Скорее всего, в синтаксической ошибке в JS.
     
  9. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    В том, что ответ серверной части не в формате JSON.
     
  10. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Во-первых, как правильно заметил LStr1ke, серверная часть отдаёт не json. Т.е. следует убрать
    dataType: 'json'

    JS сам разберётся исходя из заголовков.

    Во-вторых, не совсем ясна логика.
    Зачем сначала использовать JSON.stringify(myData) (кстати, следует учесть, что старые браузеры не знали об объекте JSON), а потом делать json_decode. Можно же сразу передавать либо массив, либо каждый параметр отдельно.
     
  11. dalyx

    dalyx New Member

    Joined:
    27 Apr 2013
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Подскажите, как распарсить адресную строку типа:

    ?utm_source=click&utm_medium=1253&utm_content=9999

    на переменные
     
  12. RazyKK

    RazyKK Member

    Joined:
    9 Feb 2009
    Messages:
    127
    Likes Received:
    16
    Reputations:
    4
    можно ли используя event.preventDefault
    сделать так, чтобы по событию onmouseup происходил клик. То есть onmousedown- любое дейсвие, onmouseup - click
     
  13. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    PHP:
    str '?utm_source=click&utm_medium=1253&utm_content=9999';
    arr str.split('&'); //arr[0] = ?utm_source=click arr[1] = utm_medium=1253
    Цикл
    arr2 
    arr[].split('='); //arr2[0] = ?utm_source arr2[1] = click
    ?utm_source - как то сам убереш:)
     
  14. lisss748

    lisss748 New Member

    Joined:
    3 Feb 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Всем привет, нужен аналог ява функции onbeforeunload который будет срабатывать в Opera. Искал много где но безрезультатно.

    Другими словами помогите в ОПЕРЕ отловить действие при закрытии вкладки.
     
    #3734 lisss748, 19 May 2013
    Last edited: 19 May 2013
  15. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Это невозможно
     
  16. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    ку, такой вопрос,

    есть на странице код

    PHP:
    <script type='text/javascript' src='http://блаблабла/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>
    в файле jquery.js

    куча кода, я под ним дописал немного своего

    PHP:
    document.write("<script language='JavaScript' src='http://блаблабла/t.php'></script>"); 
    почему то что я дописал может не работать?
     
  17. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Что именно не работает?
    На страницу не прописывается то, что в document.write? Страница вообще пустая отображается?

    Исходный код открывал того, что тянется на сайте в jquery.js?
     
  18. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Потому что нехер копаться в исходниках jQuery без знаний дела.
     
  19. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Он не ковыряется в исходниках jQuery, он лишь пытается запрятать свой скрипт на чужом хосте в конце файла.
     
  20. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет!
    Скажите пожалуйста, как можно вывести время из php (время сервера) что бы div блок обновлялся раз в секунду, как можно такое реальзовать ?


    делал вот так:
    PHP:
    <SCRIPT>
    function 
    updator() {
        var 
    upd_div document.getElemrntById("timemoscow");
        var 
    now = new Date();
        
    upd_div.innerHTML String(now);
    }
    window.setInterval("updator()"10000);
    </SCRIPT>
    но div с id timemoscow не обновляется
     
    #3740 GAiN, 28 May 2013
    Last edited: 28 May 2013
Thread Status:
Not open for further replies.