字体:  

ajax传参数给php的问题

davidtao0819 发表于: 2008-7-25 09:58 来源: PHPChina 开源社区门户

我用JS获取了select的值,怎么把这个值传递给PHP程序来根据这个值去数据库里检索出数据呢,要求在不刷新页面的情况下

最新回复

cjv123 at 2008-7-25 10:01:20
你平时怎么用ajax就怎么用
davidtao0819 at 2008-7-25 10:10:59

QUOTE:

原帖由 cjv123 于 2008-7-25 10:01 发表
你平时怎么用ajax就怎么用
我不会ajax啊,只是找了一个函数document.getElementById('select').value得到我选的下拉菜单里的值,但我不知道怎么把它传到PHP程序里去啊,这位大哥会的话请帮帮我。
devotedsky at 2008-7-25 10:11:38
$.ajax({
        'type':         "POST",
        'url':                ReqURI + "balabalabala",
        'data':         { parameter1: value1
                                , parameter2: value2
                                 },
        'success':        function( ansJSON ){
                                        eval( "var hostAns = " + ansJSON );
                                        if ( hostAns[0].result == 'success' ){
                                                alert('Oh yeah');
                                        }
                                        else {
                                                alert('OMG');
                                        }
                                },
        'error':        function( P1, P2, P3 ){
                                }
});

如此,这般。
davidtao0819 at 2008-7-25 10:19:41

QUOTE:

原帖由 devotedsky 于 2008-7-25 10:11 发表
$.ajax({
        'type':         "POST",
        'url':                ReqURI + "balabalabala",
        'data':         { parameter1: value1
                                , parameter2: value2
                                 },
        'success':        function( ansJSON ){
                                        eval( "var hostAns = " + ansJS ...
看不懂,能解释一下吗?
cjv123 at 2008-7-25 10:21:46

QUOTE:

原帖由 devotedsky 于 2008-7-25 10:11 发表
$.ajax({
        'type':         "POST",
        'url':                ReqURI + "balabalabala",
        'data':         { parameter1: value1
                                , parameter2: value2
                                 },
        'success':        function( ansJSON ){
                                        eval( "var hostAns = " + ansJS ...
这是jquery的语法,你要自己差资料学习了,说不清楚的
xieaotian at 2008-7-25 10:21:55
把json都整出来了,新手能看懂吗
davidtao0819 at 2008-7-25 10:29:44
我是新手啊,有没有大虾来给我解决下啊,弄了好几天了,实在很急啊
devotedsky at 2008-7-25 10:40:27
JS是俺心里永远的痛。
LZ,你揪住电车男,让他砸sample给你。
马铃鼠 at 2008-7-25 10:43:57
这是以前搞的,乱七八糟的,
自己随便看看,高人莫排砖

关于这几天学习的事情,现在总结
1 AJAX的总结,
我理解AJAX是在一个页面中由浏览器端操纵执行的一个动态调用服务器中的一段PHP代码,这段代码一般写在一个文件(aa.php)里,由javascript向服务器发送异步的请求,即本页面不动,在后台发送到aa.php,从发送到结束,该页面一直监视aa.php页面的执行状态,然后aa.php执行完毕后输出一系列文本,当aa.php执行完毕后发送请求的页面,获得执行完毕的参数,将其输出的一系列文本获取,用javascript更新本页面中一个区域的HTML。

应用实例(一)
************************
要用AJAX发送异步请求,首先得先对他进行实例话,
因为他们都是用javascript,所以客户端的代码一般都是写在
<script language=javascript></script>中间
实例化函数网上有很多,不用自己写,

function InitAjax()
{
 var ajax=false;
 try {
  ajax = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   ajax = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   ajax = false;
  }
 }
 if (!ajax && typeof XMLHttpRequest!='undefined') {
  ajax = new XMLHttpRequest();
 }
 return ajax;
}
这是用的最多的,
然后写发送异步请求的函数
先写一个用GET方法提交数据的函数
function sendmsg(ID)
{
 //如果没有把参数ID传进来,与本例无关
 if (typeof(ID) == 'undefined')
 {
  return false;
 }
 //这个是要发送到的页面,直接在页面后面加参数就好了,是GET提交嘛
 var url = "/getnew.php?id="+ID;
 //获取本页面中呆会要更新的内容的区域的标试,个人认为没用
 var show = document.getElementById("show_news");
 //实例化Ajax对象
 var ajax = InitAjax();
 //使用Get方式进行请求,这是构建用GET提交的方法,并不提交
 ajax.open("GET", url, true);
 //这里是当发送到的那个页面执行状态改变时执行后面的那个函数
 ajax.onreadystatechange = function() {
 //如果执行是状态完成,那么就把返回的内容赋值给上面指定的层

  if (ajax.readyState == 4 && ajax.status == 200) {
   show.innerHTML = ajax.responseText;
  }
 }
 //发送
 ajax.send(null);
}
上边的东西都是在<script></script>中的
好了改写调用这个函数的东西了,
<a href="#" onClick="sendmsg(1)">新闻1</a>
<div id="show_news"></div>
这样一个页面就写好了,

下面写getnew.php了,
就写怎么查出消息,然后输出所有内容,
让父页面获取,

=========================================================================
下面写用POST提交时候
那个sendmsg()函数是有区别的

function sendmsg(id)
{
if (typeof(id) == 'undefined')
  {
    return false;
  }

var postStr   = "id="+ ss;
//需要进行Ajax的URL地址
  var url = "ajax_class.php";
  //获取新闻显示层的位置
  var show = document.getElementById("pc");
  //实例化Ajax对象
  var ajax = InitAjax();
  //使用POST方式进行请求
  ajax.open("POST", url, true);
//定义传输的文件HTTP头信息
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //获取执行状态
  ajax.onreadystatechange = function() {
      //如果执行是状态正常,那么就把返回的内容赋值给上面指定的层
      if (ajax.readyState == 4 && ajax.status == 200)
      {
       show.innerHTML = ajax.responseText;
      }
  //发送
  ajax.send(postStr);
}
kuhanzhu at 2008-7-25 10:47:33
自己找资料学吧。
这样让别人给你做了程序行得通不?好意思不?下回会了吗?
tonny at 2008-7-25 10:51:49
看下Jquery吧
davidtao0819 at 2008-7-25 11:00:23

QUOTE:

原帖由 kuhanzhu 于 2008-7-25 10:47 发表
自己找资料学吧。
这样让别人给你做了程序行得通不?好意思不?下回会了吗?
我也是在网上找了好几天的资料没学会才来论坛问的啊,这个问题我今天就要解决,实在没时间啊,所以请高手指教咯,论坛建了不就是供大家交流用的吗?