PHP + Jquery – 通过ajax将值传递给php并检查变量
我不能让以下PHP + jQuery工作 – 我想要脚本要做的就是通过ajax传递值,并让php抓住它,检查匹配并添加1得分。
这是我写的代码:
$(document).ready(function() { $("#raaagh").click(function(){ var value = "145"; alert(value); $.ajax({ url: 'processing.php', //This is the current doc type: "POST", data: ({name: value}), success: function(){ location.reload(); } }); }); }); Ajax Away
感谢您的帮助,我在两个实例中都将GET更改为POST,并且没有任何乐趣 – 还有其他错误。
首先:不要回到黑暗时代……不要使用相同的脚本来生成HTML并响应ajax请求。
我无法理解你想要做什么……让我改变你的代码,这样至少可以理解并记录正在发生的事情。 似乎问题在于您从成功处理程序调用location.reload。
// ajax.php – 如果name参数是145则输出2,否则输出1(????)
// test.html
Ajax Away
你在jQuery中使用POST,但是你试着在php中获得一个GET。
顺便说一句,最好在读取之前检查是否设置了GET / POST变量。 使用isset()函数。
您使用Ajax POST提交数据,但尝试从GET中读取数据。 在您的Ajax调用中使用type: "GET"
或在PHP中使用$_POST['name']
。
问题是你使用jQuery来发布你的值,但是你正在用GET阅读它。
您应该能够通过将$ _GET [‘name’]更改为$ _POST [‘name’]来解决您的问题
用$_POST
替换$_GET
就可以了。 基本上POST和GET是将变量传递给脚本的两种不同方式。 php中的get方法也可以附加在url: script.php?variable=value
的末尾,并且很容易入侵。 虽然post方法可以使用表单或ajax调用提交,但它非常安全,至少比get更多。 另外我建议您在调用之前检查GET或POST变量是否设置,以便您可以防止愚蠢的通知错误。
只需使用以下代码:
if (isset($_POST['var']) and !empty($_POST['var'])) { // do something }
你也可以删除
}else{ // do nothing }
脚本的一部分,因为else子句不是必须的。