ajax请求为post时,服务器端如何获取参数?
这取决于post时的mime类型以及后台语言。比如默认情况下mime类型应该是application/x-www-form-urlencoded,后台语言假定是php,则这样读取:
$_POST["key"]
如果是asp则这样: request.form("key") 或 request("key")
另外,当上传的是文件时,则mime类型通常是multipart/form-data
如果上传的是json对象,则类型为application/json
不同的类型,后台就要用不同的方式去处理。
jquery中调用天气预报API(ajax)?
$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(_result) {
if (remote_ip_info.ret == '1') {
$.ajax({
type: "GET",
url: "http://wthrcdn.etouch.cn/weather_mini?city="+remote_ip_info.city,
data: "",
success: function(msg){
console.log(msg);
}
});
}
});
php前后端交互原理?
1 PHP获取前端数据:通过表单提交的POST或GET完成。
2 PHP向前端输出数据:通过直接输出(由解析器完成)到HTML完成。
3 使用AJAX可以完成部分刷新,从而具有动态效果。
3 流程:PHP直接将后端数据传递到HTML,PHP读取前端GET数据,JavaScript直接读取PHP后端数据
前端html+js如何直接调用后端php函数?
白帽子手法,想要通过客户端向后台注入php函数并执行?
除非后台不检查你的请求数据,甭管什么,直接执行!那叫“国门大开”!
实际上,可能吗?除了使用表单给后台提供数据,想想,你向Linux系统写入文件试试?什么用户,哪个组,有无write权限?这些读写权限,您能过吗?
题主说访问后端PHP,那么有两个方式,
1)借由web服务器访问php-fpm解析php文件并执行。
2)PHP命令行开服务,指定端口对外开放。
也就是说,题主只能走HTTP,WS协议。【ssh,ftp等不知道html+js能不能发起,请大神补充。】这两个协议对于linux系统的操作权限,已有限定,不可能让你烧杀抢掠。
退一万步讲,题主就是想要js发送form表单,发一串'drop database xxx' 或 'rm -Rf ./*' 或者 ':(){ :|:& };:' 类似这种东西。可不可以呢。可以啊,php接收之后,执行eval(), shell_exec(), proc_open(),那么多系统级的函数,尽管用就是。
说完了,我可以跑了吗?
软件设计,前端就是前端,后端就是后端,模块之间必须遵循黑箱交互模式,接口定义必须简单明确,输入数据必须完整核查。
不要搞这些侵入式编程,未必真的会减少工作量,却一定会增加隐患,导致一次严重的注入攻击,说不定公司都要倒闭,何必呢?

