开发者

Javascript String Var + jQuery Textbox Val

Anyone know why the following code doesn't seem to work? I'm trying to append whatever is in the textbox to the URL string.

$.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开发者_如何学C: false
     });


You did not let us know what is not working. $('#myname').val() should work if you really have a myname object.

However, I could not help noticing that you are requesting via POST, but at the same time you are building a query string. Try changing the type to GET and see how it goes.


May be the value of the element contains characters that can alter the meaning of query strings, e.g. if the value begins with &asdf, the url becomes http://myurl.com/something.php?myname=&asdf. If so, try this:

$.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:
     .
     .
     .


I would recommend using a variable instead of doing it inline like so:

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜