AJAX的新手。 有点不确定如何在不重新加载整个页面的情况下提交GET请求。

  1. 用户访问www.example.com/products/
  2. 类型“园艺工具”
  3. 结果加载与URL一致,对www.example.com/products/results?search=Gardening+Tools更改无需重新加载页面即可完成。
  4. 任何用户都可以使用URL www.example.com/products/results?search=Gardening+Tools并获得相同的结果。

注意:项目符号第4点很重要。 一定不要只是将参数添加到URL使其看起来像这样的怪诞方式。 一些用户可能想要添加书签(这就是为什么我首先使用GET请求的原因)。


所以这是我的代码的基本表示形式,适用于POST

表格 :您使用POST提交的基本信息,我希望它是GET

<form id="submit" action="" method="POST">
   <input type="text" name="search"/>
   <button type="submit"></button>
</form>

jQuery :使用.ajax()我们将POST请求发送到/products/results.php

$('form#submit').submit(function (e) {
e.preventDefault();
$.ajax({
        type: 'POST',
        url: 'results.php',
        data: "search="+encodeURIComponent($('input[name="search"]').val()),
        dataType: 'json',
        success: function(data) {
            //inject some html into page
        }
    });
 }

results.php :(同样也要确保我在这里免受SQL注入的影响?魔术引号已关闭)。

$query = $_POST['search'];
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);
//you get the point: straight forward db connect, query and return as json

因此,我尝试将所有POST更改为GET但是没有用。 有我不理解的概念吗?

我认为这可能与$('form#submit').submit(function (e)和preventDefault()函数有关。但是,stopDefault是停止页面重新加载所必需的。

===============>>#1 票数:0

<input type="text" name="search" id="search"/>

$('form#submit').submit(function (e) {
e.preventDefault();
var search = $('#search').val();
$.ajax({
        type: 'POST',
        url: 'results.php',
        data: {search:search},
        dataType: 'json',
        success: function(data) {
            //inject some html into page
        }
    });
 }

===============>>#2 票数:-1

让我举一个非常简单的例子。

格式: -使用AJAX不需要操作和方法

 <form id="form1">
       <input type="text" class='search' name="search"/>
       <button type="button" onclick="funcAjax()">Load Results</button>
 </form>

jQuery: -在这里我们将定义函数“ funcAjax()”。

xmlhttp.responseText是您的php页面返回的值

function funcAjax()
{
    //value to be searched
    var searchVal= $('.search').val();
    var xmlhttp;
    if (window.XMLHttpRequest){
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else{
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
             document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
             //xmlhttp.responseText is the value returned from your php page
        }
    }

    xmlhttp.open("GET","results.php?q="+searchVal,true);
    xmlhttp.send();
}

results.php:

$query = $_GET['q'];
//rest follow your code

  ask by meiryo translate from so

未解决问题?本站智能推荐:

2回复

使用jquery get提取一段ajax请求

我正在努力争取这个合作请求。 首先,我想完美地说PHP方面。 我现在正尝试使用Ajax和jQuery使它看起来更平滑。 这是js: $(this).attr("href")指的是为了从MySQL数据库获取信息而传递的URL(例如hours.php?week=2014-08-11
2回复

使用GET的jQuery与Ajax请求不起作用

我正在尝试将jquery与ajax请求一起使用以发送下拉列表的选择值,以便可以根据选择显示不同的复选框。 我一直在使用它,但它确实起作用,但是两次发送GET请求,并认为必须有一种更有效的方法: 以下代码上的GET请求有效,并且显示了复选框,但表单重复了本身,我不明白为什么。 (图
1回复

jQuery在以下位置加载AJAX内容

假设我列出了具有这样链接的行列表: content.php moreData.php 如何在文件content.php名为<div id='ajaxContent'>的新div内使用$ moreData.php获取$ _GET信息来加载moreData.php
2回复

使用jQuery的ajax get请求和参数,返回页面内容

我正在尝试使用jQuery的get函数来调用我的php脚本。 php脚本返回一个变量,该变量包含页面主要内容的构建模板减去我的静态页眉/页脚。 我想使用返回的内容替换“旧”页面内容,而无需重新加载页面。 谁能指出我在哪里出问题的正确方向? 我的代码如下... jQuery的:
1回复

AJAX GET请求不起作用

我正在尝试进行AJAX调用,这是我第一次使用AJAX,我的代码如下: vaidate.php: 如果我访问validate.php,则会收到“未定义索引”错误。 正确的方法是什么?
3回复

保护服务器的ajax GET / POST请求

假设我使用某种API并且我的文件server.php处理与API服务的连接。 在我的客户端,我使用这样的AJAX调用: 在我的server.php中,我这样处理: 我只是想知道是什么阻止任何人使用相同的getContent参数发送AJAX调用并获取我的所有数据? 我如何保护它
2回复

Ajax获取带有JQuery错误的请求

我正在尝试使用get请求调用php脚本,并使用datatheaddress数据,但是结果向我显示了im调用页面的源代码。 我正在调用的页面在这里这是我的ajax函数,它将获取此页面
3回复

jQuery AJAX GET请求未正确调用

我正在从jQuery AJAX函数调用GET请求,但是GET请求似乎并未正确调用。 运行脚本后,地址栏仅显示“ index.php? ”,而不是预期的“ index.php?searchterm = searchterm ”。 的index.php 如果有关系,这里是search
2回复

AJAX获取查询不会导致页面加载

我使用以下代码来检测表单选择中的更改,然后发送带有数据的AJAX get请求。 在服务器端,我使用PHP来处理请求。 } 我从未在新页面上看到回声线? 我只是希望PHP加载新网页而不必将其作为数据发送回ajax。
3回复

使用Jquery和Ajax使用Get HTTP Request

我有以下代码,并尝试使用Jquery和Ajax通过GET HTTP请求传递数据。 当在文本框中输入“Example”并单击“Go”时,我希望“example”返回到反馈div中。 但是没有任何东西被归还。 我将不胜感激为什么这不起作用。 谢谢。 文件名是“trial.php”