Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

[JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Web-программированию только в данном разделе

Ответ
 
Опции темы
Старый 10.04.2014, 21:13   #1
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
Question [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Необходимо кинуть запрос на php файл (GET или POST, без разницы) с переменной "sid=demo" и вывести ответ alert'ом.

Пример, который нашел [Ссылки могут видеть только зарегистрированные пользователи. ], почему-то у меня не работает.

Код:
// ==UserScript==
// @id test
// @name Test
// @namespace test
// @match [Ссылки могут видеть только зарегистрированные пользователи. ]
// ==/UserScript==

var GM_xmlhttpRequest = function (params) {
    var req = new XMLHttpRequest();
    
    req.open(params.method, params.url);
    
    for (var header in params.headers) {
        req.setRequestHeader(header, params.headers[header]);
    }
    
    req.onreadystatechange = function () {
        if (req.readyState == 4 && req.status == 200) {
            params.onload(req);
        }
    };
    
    req.send(params.data);
};

var query = {
    method: "POST",
    url: "https://en.wikipedia.org/w/api.php",
    onload: function (res) {
        *******res.responseText);
    },
};

query.data = "action=query&meta=siteinfo&format=json";
query.headers = {"Content-type": "application/x-www-form-urlencoded"};

GM_xmlhttpRequest(query);
В коде "alеrt(" заменилась "*******". Здесь я написал ее через русскую букву "e". Баг форума, не хорошо.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
  Ответить с цитированием
Старый 10.04.2014, 23:49   #2
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Я так понимаю нужно выполнить кроссдоменный запрос, если так то спешу вас огорчить, такие запросы запрещены политикой безопасности самих браузеров. Существует пара уловок, попробуйте задать поле document.domain нужного вам сайта или гуглите JSONP cross domain request
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Пользователь сказал cпасибо:
XRASER (12.04.2014)
Старый 12.04.2014, 19:07   #3
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
По умолчанию Re: [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Вот так работает:

Код:
jQuery.ajax = (function(_ajax) {

    var protocol = location.protocol,
        hostname = location.hostname,
        exRegex = RegExp(protocol + '//' + hostname),
        YQL = 'http' + (/^https/.test(protocol) ? 's' : '') + '://query.yahooapis.com/v1/public/yql?callback=?',
        query = 'select * from html where url="{URL}" and xpath="*"';

    function isExternal(url) {
        return !exRegex.test(url) && /:\/\//.test(url);
    }

    return function(o) {

        var url = o.url;

        if (/get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url)) {

            // Manipulate options so that JSONP-x request is made to YQL

            o.url = YQL;
            o.dataType = 'json';

            o.data = {
                q: query.replace(
                    '{URL}',
                    url + (o.data ?
                        (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data) : '')
                ),
                format: 'xml'
            };

            // Since it's a JSONP request
            // complete === success
            if (!o.success && o.complete) {
                o.success = o.complete;
                delete o.complete;
            }

            o.success = (function(_success) {
                return function(data) {

                    if (_success) {
                        // Fake XHR callback.
                        _success.call(this, {
                            responseText: data.results[0]
                            // YQL screws with **********s
                            // Get rid of them
                            .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
                        }, 'success');
                    }

                };
            })(o.success);

        }

        return _ajax.apply(this, arguments);

    };

})(jQuery.ajax);

$.ajax({
            url: 'http://wotbonuscode.tk/getcode.php',
            type: 'GET',
            success: function(res) {
                *******res.responseText);
            }
        });
Но возвращает:

Код:
<html>
  <head>
    <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/>
    <title/>
  </head>
  <body>
    <p>TESTCODE</p>
  </body>
</html>
А мне нужно просто "TESTCODE", как это сделать?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
  Ответить с цитированием
Старый 12.04.2014, 20:25   #4
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Ну так делай правильный запрос
Код:
'select * from html where url="{URL}" and xpath="//body/p"'
указывай нужный элемент
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Пользователь сказал cпасибо:
XRASER (12.04.2014)
Старый 12.04.2014, 20:46   #5
 Пехотинец
Аватар для XRASER
 
XRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краяхXRASER неизвестен в этих краях
Регистрация: 27.11.2010
Сообщений: 84
Популярность: -1831
Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
Отправить сообщение для XRASER с помощью ICQ Отправить сообщение для XRASER с помощью Skype™
 
По умолчанию Re: [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Yukikaze, респект тебе!

Но есть еще один вопрос, можно ли обойтись без такого сложного запроса, а на прямую послать запрос на php и получить ответ.

Пробовал так:
Код:
$.ajax(
{
	url: 'http://wotbonuscode.tk/getcode.php',
	type: 'GET',
	dataType: 'html',
	success: function(res)
   	{
	*******res.responseText);
	}
});
И так:
Код:
$.get( "http://wotbonuscode.tk/getcode.php", function( data ) {
  ******* "data );
});
Запрос уходит (смотрел через Charles), но ответа нет.

В коде "alеrt(" заменилась "*******". Здесь я написал ее через русскую букву "e". Баг форума, не хорошо.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.

Последний раз редактировалось XRASER; 12.04.2014 в 20:49.
  Ответить с цитированием
Старый 12.04.2014, 22:17   #6
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: [JavaScript] Tampermonkey и GET\POST запрос с выводом ответа

Читай первый мой ответ, одной копипастой здесь не отделаешься
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Пользователь сказал cпасибо:
XRASER (12.04.2014)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++(MFC)]HTTP POST запрос AnOnYmUsS Вопросы и ответы, обсуждения 0 22.01.2013 17:36
[Помогите!] POST запрос lcd1232 Вопросы и ответы, обсуждения 2 20.01.2013 01:47
POST запрос входа -Lexa98- Общение и обсуждение 15 02.05.2012 16:04
Нет ответа на запрос в тюряге... c3262564@pjjkp. Вопросы и ответы, обсуждения 3 04.02.2011 08:17

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 23:50.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net