本文目录一览:
- php怎么接收jquery ajax传来的值,为什么我接过来的值为空?
- AJAX提交的xml用php读取时$HTTP_RAW_GET_DATA为空,phP.INI相关项已设置
- ajax传参数 php接收到总是空???
- 用js自写ajax提交表单数据到php,但是php的$_POST为空?
- ajax传值php页面接收处理为json 有值 但返回为null 求解
- PHP接收ajax传的数据为空,是怎么回事?
php怎么接收jquery ajax传来的值,为什么我接过来的值为空?
接收ajax的值用不着区别什么语言。ajax就是指的在前台调用后台的数据。在前台通过js脚本就可以调用后台的数据了。一般jquery调用ajax的话会有以下的方法:
$(selector).load(url,data,callback)
把远程数据加载到被选的元素中$.ajax(options)
把远程数据加载到 XMLHttpRequest 对象中$.get(url,data,callback,type)
使用 HTTP GET 来加载远程数据$.post(url,data,callback,type)
使用 HTTP POST 来加载远程数据$.getJSON(url,data,callback)
使用 HTTP GET 来加载远程 JSON 数据$.getScript(url,callback)
加载并执行远程的 JavaScript 文件 你在php中可以使用以上的js方法来接受值。如果接受不到的话可能你的文件路径有问题。或者是脚本本身有问题。
AJAX提交的xml用php读取时$HTTP_RAW_GET_DATA为空,phP.INI相关项已设置
在这里说一种找到错误的方法,而不是这个错误的解决方法。 相信对你更有用。 调试程序方法:
- 确定某段程序是否运行(这很重要),加一小段代码做个标记。
例: 想知道一个循环运行几次,加
$xunhuan++;echo $xunhuan;
例: 想知道一个函数是否被运行,直接加echo 'fun9被运行了.';
你这个题有点特殊.就输出一个文件做判断吧,$h=fopen('1.txt','a+');
和alert("1处运行了");
如果有1.txt就是被运行了。 - 观察一个变量的值对不对,输出
echo
输出- 输出到数据库
- 输出到文件,
fwrite("$myvar",$h);
这个函数可能用错了,你找手册吧 你这个题要用3。
- 做空的判断
- 做简单模拟,把大段程序中的一小块提出来,做成一个文件运行
- 能正确运行了,也要模拟各种情况
- ajax.htm
post.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <body> <script language="javascript"> function post(xmldoc,action) { //Mozilla 浏览器 //xmlhttp = new XMLHttpRequest(); // var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); var xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp.Open("post",action,false); xmlhttp.Send(xmldoc); if (xmlhttp.status=="200") { // alert("保存成功"); //alert(xmlhttp.responseText); return xmlhttp.responseText; } else return false; } //上面定义函数,下面运行函数 var re; re=post("1234","post.php?id=2"); alert(re); </script> </body> </html>
<?php $str = $HTTP_RAW_POST_DATA; $id = $_GET['id']; echo $str; $h = fopen('1.txt','a+'); fwrite($h, $str.$id."\r\n"); ?>
ajax传参数 php接收到总是空???
可以考虑使用js转值给iframe的方法。 如:
<iframe src="AddMes.php" id="addFrame" scrolling="yes"></iframe>
var la = document.getElementById("save");
document.getElementById("addFrame").src = "AddMes.php?namesave=" + la.value;
这样就可以转给 AddMes.php
。
你就算用ajax。 AddMes.php
也要刷新。
用js自写ajax提交表单数据到php,但是php的$_POST为空?
注意到的RequestMethod
是Undefined
,这个地方应该是POST
。
可以:
- 把AJAX提交的方式设置为
post
- 最好把表单的
method
设为post
,method="post"
ajax传值php页面接收处理为json 有值 但返回为null 求解
首先://dataType:"json",
为何注释掉?
其次,返回来的是对象,alert
出来 可能显示[object]
,此表示有值。
可用 data.key
取出值,key
表示$rs
数组键名。
第三,若dataType:"json"
后返回的仍然是null
,则说明你可能正在使用跨域请求。
跨域请求请用AJAX的JSONP方式,请改为如下:
JS:
$.ajax({
url:"__URL__/liandong",
dataType:'jsonp',
data:'callback=jsoncallbackaid='+aid,
jsonp:'jsoncallback',
timeout:3000
});
//回调函数
function jsoncallback(json){
alert(json.key); // key表示$rs数组键名
}
PHP:
return $_POST['callback']."(". json_encode($rs).")";
PHP接收ajax传的数据为空,是怎么回事?
在函数里面$this
代表的是函数本身,而不是你的元素哈。
你得使用$('.supp....').attr('data-id')
获取。