我电脑上使用jquery中的ajax无法请求到html,显示404错误。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我电脑上使用jquery中的ajax无法请求到html,显示404错误。相关的知识,希望对你有一定的参考价值。
var url="Info.html";-----------------//这个是我要请求的的页面,此页面和我属于本地URL,路径绝对没写错。问题是我的电脑上总是显示404错误(找不到页面),而在别人的电脑上却运行没有问题。请问这问题怎么解决。
$.ajax(type:"GET",//请求方式
url:url,//请求的URL
data:val:username.val(),//请求的提交到服务器的数据
success:function(data, textStatus)//请求成功是处理数据
if(textStatus=="success")alert(textStatus);
$("#resultInfo").html(data)
,
statusCode:404:function()alert("页面未找到!");,200:function()alert("请求页面成功!")//验证响应信息
,
error:function(objXMLHttpResponse, textStatus, errorThrown)//请求失败显示的错误信息
$("#errorInfo").text("ResponseInfo:"+objXMLHttpResponse.status+";"
+"textStatus:"+textStatus+";"
+"errorThrown:"+errorThrown)
,
async:true,//是否异步发送数据
cache:true,//是否缓存数据
dataType:"html"//服务器返回的数据类型
);
应该差个$(function()
.ajax(type:"GET",//请求方式
url:url,//请求的URL
data:val:username.val(),//请求的提交到服务器的数据
success:function(data, textStatus)//请求成功是处理数据
if(textStatus=="success")alert(textStatus);
$("#resultInfo").html(data)
,
statusCode:404:function()alert("页面未找到!");,200:function()alert("请求页面成功!")//验证响应信息
,
error:function(objXMLHttpResponse, textStatus, errorThrown)//请求失败显示的错误信息
$("#errorInfo").text("ResponseInfo:"+objXMLHttpResponse.status+";"
+"textStatus:"+textStatus+";"
+"errorThrown:"+errorThrown)
,
async:true,//是否异步发送数据
cache:true,//是否缓存数据
dataType:"html"//服务器返回的数据类型
);
);本回答被提问者和网友采纳 参考技术B 你从根目录开始写试试
POST 请求无法使用 JQuery AJAX
【中文标题】POST 请求无法使用 JQuery AJAX【英文标题】:POST request not working using JQuery AJAX 【发布时间】:2013-04-30 19:54:55 【问题描述】:我正在尝试使用 JQuery AJAX 允许用户将信息输入到弹出框中的表单中,然后将信息添加到 MySQL 数据库中。 但是,由于某种原因,当我使用 JQuery AJAX 函数(我已经尝试过 $.post() 和 $.ajax())来发布数据时,它不会被发布。相反,对于我尝试发布的所有字段,我都会收到“未定义索引”的错误消息(当我转到 processNewAssignments.php 时,这是我要发布到的 URL)。我做错了什么?
用户点击POST信息时我的JQuery AJAX函数调用是:
$.ajax(url: "[THIS CONTAINS THE REST OF THE URL]/processNewAssignments.php",
type: 'POST',
data: max_grade: maxGradeValue, title: taskNameValue, due: dueDateValue);
或者我也试过了:
$.post("[THIS CONTAINS THE REST OF THE URL]/processNewAssignments.php",
max_grade: maxGradeValue, title: taskNameValue, due: dueDateValue);
我的 processNewAssignments.php 代码(数据发布到的 URL)是:
<?php session_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Process Assignments</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<?php
$maxgrade = $_POST["max_grade"];
$title = $_POST["title"];
$due = $_POST["due"];
$classID = $_SESSION["classID"];
echo "hello!";
echo $title . $classID . $due . $maxgrade;
require("db.php");
$query = "INSERT INTO assignments (title, assignmentID, classID, deadline, max_grade) VALUES ('$title', DEFAULT, '$classID', '$due', '$maxgrade')";
$result = mysql_query($query, $db);
?>
【问题讨论】:
Please, don't usemysql_*
functions 在新代码中。它们不再被维护并且是officially deprecated。看到红框了吗?改为了解准备好的语句,并使用pdo 或mysqli。
【参考方案1】:
相反,我收到所有字段的“未定义索引”错误消息 试图发布(当我去 processNewAssignments.php,这是 我要发布到的 URL)。我做错了什么?
如果我理解正确,您正试图通过发送 第二个 GET 请求 来查找您发布的变量,即在地址栏中输入 URL。
如果确实如此,您应该得到undefined index
,因为您没有发布任何内容,因此$_POST
数组未定义。
要测试您的 ajax POST 请求,您需要使用开发工具(Chrome 上的 F12),选择 Network
选项卡,然后单击发出的请求。
在那里您可以看到请求是否成功(200 响应代码),以及什么是 响应的内容。
【讨论】:
这很有道理!!谢谢! 我还建议使用$_REQUEST
而不是$_POST
或$_GET
@user1516849【参考方案2】:
您已指定要 INSERT 插入 5 列;但只有 4 个值传递给它:
title, assignmentID, classID, deadline, max_grade
和你的价值观:
'$title', DEFAULT, '$due', '$maxgrade'
【讨论】:
以上是关于我电脑上使用jquery中的ajax无法请求到html,显示404错误。的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JQuery AJAX 请求中的数据发送到 Node.js 服务器