任何人都可以解释一下吗:
var js_var = 'hello';
$.ajax({
type: "POST",
url: "some.php",
data: "js_var="+js_var,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
我需要知道在这种情况下PHP文件返回什么...可以假设PHP文件返回db中是否存在jsvar...
PHP 文件将返回处理数据参数 (
js_var=hello
) 的结果。客户端将以字符串形式接收输出 (msg
)。
PHP 脚本的输出无论是带有
echo/print
甚至 HTML 都会在 msg
回调函数的 success
参数中返回。
例如,如果您从 PHP 脚本执行此操作:
echo 'hello world';
msg
将等于 hello world
假设这是参考 PHP Javascript 变量帮助 那么
some.php
可以做任何你需要做的事情。实际的 some.php
只是您需要运行的任何脚本的占位符。
该 PHP 文件的输出不是发送并在浏览器中呈现,而是发送并放入
msg
变量中。您发送回的内容可能是要放入 div
中进行渲染的 HTML 块、简单的 OK、JSON 对象或 XML。当您在通信两端编写代码时,您可以做任何您想做的事情。
例如,如果您要创建一个用户创建表单,您可以有一个脚本,在用户名框失去焦点后,进行 AJAX 调用,然后返回
OK
或错误消息,然后您可以显示用户名框旁边的那个。
编辑:
正如其他人所提到的,最好通读一些有关 jQuery 和 AJAX 的教程。快速谷歌一下就会发现一些不错的:
http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery http://www.ibm.com/developerworks/library/x-ajaxjquery.html http://www.ibm.com/developerworks/opensource/library/os-php-jquery-ajax/index.html
我一次又一次发现 IBM Developerworks 文章相当清晰和简洁。
使用 firefox 、 firbug 或 ie fiddle 查看输出。
Firebug 真不错,有一个名为 net 的面板,打开它就可以看到 php 的结果。