gpt4 book ai didi

php - 无法使用ajax访问php

转载 作者:行者123 更新时间:2023-11-29 22:12:41 24 4
gpt4 key购买 nike

我遇到了无法通过 $.ajax() 调用访问我的 php 文件的问题。我总是得到jqXHR.status 为 0。这是我的代码:

调用 $.ajax() 的函数:

function updateClubInfo(text) {
var data = text;
$.ajax({
type: 'POST',
dataType: 'json',
url: '../php/updateInfo.php',
data: {
infoText: data,
action: "update"
},
success: function() {
// do nothing
alert('success');
},
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
}

我构建的这个请求与我项目中的其他请求类似,但这是唯一一个那行不通。这是我要访问的 PHP 文件:

php 代码片段 (updateInfo.php):

<?php
$action = $_POST['action'];
$text = $_POST['data'];

myLog($action);
myLog($text);

echo "hello";


/*
* Writes entry in Logfile
*/
function myLog($data) {
$text = @file_get_contents('log.txt');
$text = $text . "\n" . $data;
@file_put_contents('log.txt', $text);
}
?>

当我尝试访问 URI 中的这个 PHP 文件时,输出了回显。所以我认为问题应该出在 ajax 调用中。

有人知道我做错了什么吗?我很感激任何帮助。

非常感谢您的帮助克里斯

最佳答案

您的 PHP 文件中存在复制/粘贴错误。应该是:

$action = $_POST['action'];
$text = $_POST['infoText'];//instead of $_POST['data']

更新

因为您的 AJAX 请求要求 JSON 数据,但您只在 PHP 文件中写入文本。因此,AJAX 请求将答案解释为无效,然后 HTTP 状态 = 0

解决方案

dataType 选项与您发送到服务器的数据类型无关,而是您期望从服务器返回的类型或数据。将 dataType: 'json', 更改为 dataType: 'html', 或简单地删除它让 JQuery 选择合适的模式。

关于php - 无法使用ajax访问php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com