为什么 AJAX 请求必须有这个?
Why Does An AJAX Request Have To Have This?
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function(){
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
$("p").text(data);
}
});
});
});
</script>
为什么 AJAX 请求必须有函数的占位符? (在本例中为 'data')。如果您删除它,或使用任何其他词,它仍然可以正常工作。有人可以解释一下为什么吗?
你的 data
这里是 返回值的别名 (你的 ajax 请求 script.php
的 "answer") ,所以你可以引用它。它不是函数本身的占位符。
如何命名取决于您 - 就像 c++ 中的 lambda 参数名称一样(我发现它们类似于 JavaScript 在这种情况下的匿名函数):
[](string data){
... = data...
}
或在其他语言中使用 functions/methods 的 "out" 参数。
对于 C++ 类比:将 lambda 作为参数传递给另一个方法会是什么样子(您当然必须定义 Button
class):
button.click(/*...,*/ [&](string data){ //"on success"
MessageBox(NULL, data.c_str(), "Alert", NULL);
...
});
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function(){
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
$("p").text(data);
}
});
});
});
</script>
为什么 AJAX 请求必须有函数的占位符? (在本例中为 'data')。如果您删除它,或使用任何其他词,它仍然可以正常工作。有人可以解释一下为什么吗?
你的 data
这里是 返回值的别名 (你的 ajax 请求 script.php
的 "answer") ,所以你可以引用它。它不是函数本身的占位符。
如何命名取决于您 - 就像 c++ 中的 lambda 参数名称一样(我发现它们类似于 JavaScript 在这种情况下的匿名函数):
[](string data){
... = data...
}
或在其他语言中使用 functions/methods 的 "out" 参数。
对于 C++ 类比:将 lambda 作为参数传递给另一个方法会是什么样子(您当然必须定义 Button
class):
button.click(/*...,*/ [&](string data){ //"on success"
MessageBox(NULL, data.c_str(), "Alert", NULL);
...
});