Javascript String Var + jQuery Textbox Val - PullRequest
0 голосов
/ 02 мая 2011

Кто-нибудь знает, почему следующий код не работает?Я пытаюсь добавить все, что есть в текстовом поле, к строке URL.

$.ajax({
    type: 'POST',
    url: 'http://myurl.com/something.php?myname='+$('#myname').val(),
    success: function(point) {
        var series = chart.series[0],
        shift = series.data.length > 20;
        chart.series[0].addPoint(point[0], true, shift);
            chart.series[1].addPoint(point[1], true, shift);
            setTimeout(requestData, 5000);  
         },
         cache: false
     });

Ответы [ 3 ]

3 голосов
/ 02 мая 2011

Вы не сообщили нам, что не работает. $('#myname').val() должно работать, если у вас действительно есть объект myname.

Однако я не мог не заметить, что вы запрашиваете через POST, но в то же время вы строите строку запроса. Попробуйте изменить тип на GET и посмотрите, как он работает.

1 голос
/ 02 мая 2011

Может быть значением элемента, содержащего символы, которые могут изменить значение строк запроса, например, если значение начинается с &asdf, URL становится http://myurl.com/something.php?myname=&asdf.Если это так, попробуйте это:

$.ajax({
     type: 'POST',
     url: 'http://myurl.com/something.php?myname=' + encodeURIComponent($('#myname').val()), // pass via GET
     // I assume there is no data to pass -- uncomment otherwise
     // data: {
     //     name1: value1,
     //     name2: value2,
     // },
     success:
     .
     .
     .
0 голосов
/ 02 мая 2011

Я бы порекомендовал использовать переменную вместо встроенной, например:

<script type="text/javascript>
$(document).ready(function(){
    var name = $("#myname").val();
    //any validation would occur here
    var posturl = "http://myurl.com/something.php?myname" + name;

    $.ajax({
      type: 'POST',
      url: posturl,
      data: data,
      success: success
      dataType: dataType
    });

});
</script>
<body>
    <input id="myname" value="John Doe" />
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...