2015-04-29 2 views
0

мне нужно отправить к встроенному устройству следующей команды в качестве GET метода, но это значение continuouspantiltmove: String(pt) не правильно отправлено в CGI скрипт через Google Chrome, в результате чего она не сможет.Javascript - отправка команды надлежащим образом при использовании метода GET

Я не могу исправить его в CGI скрипте, потому что он не управляется мной как встроенным устройством.

Как вы можете отправить его с помощью iFrame? или правильно через $.get, если iframe невозможно.

Когда я открываю URL-адрес просто в Google Chrome URL-адрес, тогда скрипт CGI работает, но не работает с методом $.get.

enter image description here

function button_axisleft() { 
    if(alr>100) { 
    alr = 100; 
    } 

    if(alr<-100) { 
    alr = -100; 
    } 
    alr = alr - 1; 
    pt ="'" + alr + "," + aud + "'"; 

    $.get('http://192.168.1.59/axis-cgi/com/ptz.cgi', { 
     camera: 1, 
     continuouspantiltmove: String(pt), 
     imagerotation: 0, 
    }, function(msg) { 
    console.log('OK'); 
    }); 
} 

EDIT: рабочая версия

// PAN-TILT-ZOOM 
// No need to modify in CGI 
function button_axisleft() { 
    if(alr>100) { 
    alr = 100; 
    } 
    if(alr<-100) { 
    alr = -100; 
    } 

    alr = alr - 1; 
    pt =alr + "," + aud;  
    $.get('http://192.168.1.59/axis-cgi/com/ptz.cgi?continuouspantiltmove=' + pt, { 
     camera: 1, 
     imagerotation: 0, 
    }, function(msg) { 
    console.log('OK'); 
    }); 
} 
+0

Что это нужно делать с названием вашего поста? Я не вижу, где вы пытаетесь отправить запятую. –

+0

Я думаю, что он имеет в виду команду в названии. –

+0

ptz.cgi необходимо получить 'continupantiltmove = -100, -50 & other = values'. Когда мы используем $ .get для отправки -100, -50, он не отправляет запятую правильно, в результате это не получается – YumYumYum

ответ

1

Поскольку вы упомянули в комментариях вы хотите:

continuouspantiltmove=-100,-50&other=values 

Тогда это будет делать:

function button_axisleft() { 
    if (alr > 100) { 
     alr = 100; 
    } 

    if (alr < -100) { 
     alr = -100; 
    } 
    alr = alr - 1; 
    pt = alr + "," + aud; 

    $.get('http://192.168.1.59/axis-cgi/com/ptz.cgi?continuouspantiltmove=' + pt, { 
     camera: 1, 
     imagerotation: 0, 
    }, function (msg) { 
     console.log('OK'); 
    }); 
} 

Вы имели дополнительные одиночные кавычки (') вокруг чисел в переменной пт. И, согласно вашему комментарию, вы не хотите этого, поэтому я удалил их. Также кажется, что jQuery автоматически URL-кодирует некоторые символы, такие как запятая, и поэтому ваша строка запроса выглядела странно. Включив параметр запроса непосредственно в строку URL-адреса, мы можем пропустить автокодирование jQuery.

Однако, вы должны также проверить это: Can I use commas in a URL?

+1

Спасибо, его работа сейчас. (только для записи. Некоторые люди сказали мне, что я должен сделать это в модификации CGI, что было совершенно неправильным предложением.) – YumYumYum

+1

О нет, да, это была всего лишь кодировка. Я рад, что это сработало для вас :) –

Смежные вопросы