任何人都知道为什么以下代码似乎不起作用?我正在尝试将文本框中的任何内容附加到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
});
答案 0 :(得分:3)
你没告诉我们什么不起作用。如果你真的有一个$('#myname').val()
对象,myname
应该可以正常工作。
但是,我无法注意到您是通过POST请求,但同时您正在构建查询字符串。尝试将类型更改为GET
并查看其进展情况。
答案 1 :(得分:1)
元素的值可能包含可以改变查询字符串含义的字符,例如如果值以&asdf
开头,则网址变为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:
.
.
.
答案 2 :(得分:0)
我建议使用变量而不是像这样内联:
<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>