没有使用jquery和ajax设置的会话

时间:2016-02-14 07:04:48

标签: javascript php jquery ajax

我有这个代码,它使用jquery和ajax向另一页发送请求,即

import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}

/**
  * Created by hibou on 13/02/16.
  */
object MyFuture {
  def task1(): Future[Unit] = Future {
    println("doing job 1")
    Thread.sleep(1000)
  }

  def task2(): Future[Unit] = Future {
    println("doing job 2")
    Thread.sleep(500)
  }

  def loopTask1(): Future[Unit] = {
    task1.flatMap(_ => loopTask1())
  }

   def loopTask2(): Future[Unit] = {
    task2.flatMap(_ => loopTask2())
  }

  def infiniteLoop(): Future[Unit] = {
    Future.sequence(List(loopTask1(), loopTask2())).map(_ => ())
  }

  def main(args: Array[String]): Unit = {

    Await.ready(infiniteLoop(), Duration.Inf)
  }


}

当我点击上面的按钮时,它应该将请求和数据发送到另一个文件 testmysql.php

<html>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

 <input type="button" id="butt"  value="button11111111111111" >
 </html>
 <script>

    $("#butt").on('click',function(e)
    {
        $.ajax(
            {
                type:'POST',
                url:'testmysql.php',
                data:
                {
                    product_type:"cake";
                }

            });

    });


</script>

但是,当我点击按钮后刷新其他页面时,我看不到任何回音,它给了我一个通知说明

  

未定义的索引:product_type

因为,我是ajax和jquery的新手,有什么我想念的吗?如果是的话,我应该怎样做才能使这项工作?

谢谢!

注意:两者都在同一目录中。

2 个答案:

答案 0 :(得分:1)

  • 您在数据对象的末尾添加了;。删除它并尝试。
  • 并且您要向 testmysql.php 页面发送ajax请求,$_POST['product_type']将在您发送请求时可用。当您刷新页面时,您没有向 testmysql.php 页面发送任何发布请求。

答案 1 :(得分:1)

首先,从此语句中删除分号(product_type:"cake"; ^ ),

$_POST

否则会给你语法错误。现在谈到你的问题。

  

当我点击按钮后刷新其他页面时,我没有看到任何回声,它给我一个通知,说明未定义的索引:product_type

那是因为刷新 testmysql.php 页面时,product_type数组将为空,$_POST数组中没有名为var_dump($_POST);的索引。您可以使用$_POST['product_type']验证它。

testmysql.php 页面上,您可以检查<?php session_start(); if(isset($_POST['product_type'])){ $_SESSION['type']=$_POST['product_type']; echo $_SESSION['type']; } ?> 是否设置如下:

#include "stdio.h"

using namespace std;

template<typename C>
struct A
{
    C c;
    void say();
};

template<typename C>
class B
{
    C name;
    public:
    template<int D>
    void Match()
    {
        printf("hello,%d\n",D);
    }
};

template<typename C>
void A<C>::say()
{
    this->c.Match<233>();
}

template struct A<B<int>>;

int main()
{
    A<B<int>> a1;
    a1.c.Match<133>();
    a1.say();
    getchar();
    return 0;
}