Javascript Ajax函数不在单击时发送数据
问题解决了 怎么做 首先,这个错误是: 数据:'rate'+$('rate').val() 需要改变什么正如你们告诉我的: 数据:'rate='+rate,或数据:{rate:rate} 但我的服务器设置也存在另一个问题,需要(我不知道原因)一个指向php文件的绝对URL,而不是相对URL 谢谢你们的时间和帮助Javascript Ajax函数不在单击时发送数据,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,问题解决了 怎么做 首先,这个错误是: 数据:'rate'+$('rate').val() 需要改变什么正如你们告诉我的: 数据:'rate='+rate,或数据:{rate:rate} 但我的服务器设置也存在另一个问题,需要(我不知道原因)一个指向php文件的绝对URL,而不是相对URL 谢谢你们的时间和帮助 我在评级脚本的onclick元素方面遇到了一些问题。当用户单击其中一个字段时,应通过ajax post方法发送值 <li id="rating-boxes-rate" oncli
我在评级脚本的onclick元素方面遇到了一些问题。当用户单击其中一个字段时,应通过ajax post方法发送值
<li id="rating-boxes-rate" onclick="rateFunction(1)"></li>
<li id="rating-boxes-rate" onclick="rateFunction(2)"></li>
<li id="rating-boxes-rate" onclick="rateFunction(3)"></li>
<li id="rating-boxes-rate" onclick="rateFunction(4)"></li>
<li id="rating-boxes-rate" onclick="rateFunction(5)"></li>
此时警报显示正确,但不幸的是,数据没有发送到rate.php,此时rate.php是一个用于测试的简单回显语句:
$rate = $_POST['rate'];
echo $rate;
有人知道我的代码到底哪里错了吗?提前谢谢。传递
数据
ajson
data: {
rate : rate
}
请注意,它总是键
然后值
乙二醇
我不认为$('rate').val()
意味着什么;您希望传递速率值,例如-1,2,3。。到php
所以试试这个-
data: {
rate: rate
},
而不是-
data: 'rate' + $('rate').val(),
另一方面,你不应该使用- 你可以这样做-
<li id="rating-boxes-rate" rate="1"></li>
...
<script>
$("#rating-boxes-rate").click(function(e) {
var rate=$(this).attr('rate');
$.ajax({
url: '../rate.php', //rate.php location in parent folder
type: 'POST',
data: {rate: rate},
success: function(html){
alert(html);
}
});
});
...
$(“#评级框费率”)。单击(功能(e){
var rate=$(this.attr('rate');
$.ajax({
url:“../rate.php”,//rate.php在父文件夹中的位置
键入:“POST”,
数据:{rate:rate},
成功:函数(html){
警报(html);
}
});
});
检查此项-
function rateFunction(rate){
$.ajax({
url: '../rate.php', //rate.php location in parent folder
type: 'POST',
data: { rate : rate},
success: function(html){
alert('Rating: ' + this_rate); //just to check, will be deleted later
$('#message_success').html(html); //message div id located in my html to show the outcome
}
});
return false;
}
选择器$('rate')
正在尝试查找类型为rate
的节点,该节点很可能不存在于标记中
既然将速率作为参数传递到函数中,为什么不直接将其传递到ajax请求中呢
$.ajax({
url: '../rate.php',
type: 'POST',
data: {"rate": rate},
success: function(response) {
alert(response);
}
});
请试一试
data
{
rate:rate
},
它将工作而不是
data: 'rate' + $('rate').val()
使用
或
不幸的是,没有工作。我现在在这个问题上讨论了12个小时:-(你在
html
console.log(html)中得到了什么
?未捕获的SyntaxError:函数开始时出现意外标记警报rate
的值始终正确显示警报值。无论警报是放在最上面还是放在success函数中。但此处的类型:“POST”正确吗?还是我需要将其更改为JSON类型?我喜欢时从未遇到过任何问题e提交普通的ajax表单,但此onclick操作似乎有所不同。能否请您控制台记录并粘贴ajax请求成功时作为响应返回的html?资源解释为脚本,但使用MIME类型text/html传输:检查此链接-
$.ajax({
url: '../rate.php',
type: 'POST',
data: {"rate": rate},
success: function(response) {
alert(response);
}
});
data
{
rate:rate
},
data: 'rate' + $('rate').val()
data: {'rate': rate}
data: 'rate=' + rate