我电脑上使用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"//服务器返回的数据类型
);

参考技术A 你这个最外面还差什么东西吧。你这个不是jquery的ajax请求??
应该差个$(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 use mysql_* 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 服务器

ajax 请求上的 Cordova 升级和 jQuery 错误

将 Ajax JQuery 选择器保存在数组中

创建对 PHP 函数的 jQuery AJAX 请求

019-JQuery(Ajax异步请求)

使用 Laravel 将 jQuery Ajax POST 请求作为 GET 发送