我创建了一个Ajax post请求,由于某种原因,PHP脚本没有正确接收post数据。我得到一个500内部服务器错误,后面是“XHR加载失败:POST”。
以下是我的javascript的一部分:
$.ajax({
type: "POST",
url: 'newmessage.php',
// Generic form data
data: {name: $("#name").val(), message: $("#message").val()},
success: function(result){
showMessages();
}
});
以下是PHP:
if(isset($_POST['name']) && isset($_POST['message']))
{
// Do something
}
详细查看了我的代码后,我认为我在ajax请求中做了一些不正确的事情。在我的PHP文件中,如果我创建一个javascript警报来输出$\u POST变量,则不会打印任何内容。
<?php
$x = $_POST['name'];
?>
<script language="javascript">
alert ('<?php echo $x; ?>');
</script>
<?php
?>
XHL代表XMLHttpRequest
听起来像是没有servelet(url问题)。
或者
servlet(php)刚刚中止您的请求(缺少csrf令牌)
解决方案1,检查url
正常通话
URL:"/newmessage.php" //modification needs here
Rest电话
URL:"/http://address/newmessage.php" //keep it in your mind please
解决方案2,
<form>
//...
<input type="hidden" id="token" value="<?php echo $token; ?>" />
//...
</form>
function sendDatas(){
var token =$("#token).val();
$.ajaxPrefilter(function (options, originalOptions, jqXHR) {
jqXHR.setRequestHeader('X-CSRF-Token', token);
});
$.ajax({
type: 'POST',
url: '/newmessage.php', // <--- notice the leading slash
data: {
name: $('#name').val(),
message: $('#message').val(),
},
success: function(reply) {
//do stuff...
}
});
}
嗯,很难说你的服务器是如何配置的,但是,乍一看,你的网址可能是个问题。
$.ajax({
type: 'POST',
url: '/newmessage.php', // <--- notice the leading slash
data: {
name: $('#name').val(),
message: $('#message').val(),
},
success: function(reply) {
//do stuff...
}
});
请在此处查看文档:http://api.jquery.com/jquery.ajax/
此外,如果你使用的是Chrome,你可以使用开发者工具来准确地看到引擎盖下发生了什么。特别是网络选项卡。https://developers.google.com/web/tools/chrome-devtools/
最后,如果您只想对服务器进行故障排除,您可以将jQuery从图片中删除,并使用类似Postman的应用程序。https://www.getpostman.com/apps
我有一个小而烦人的问题。我真的不习惯使用Web。我尝试使用ajax jquery请求我的php文件。当我想检索从ajax发送的数据时,它返回未定义的索引。我不知道是什么问题,它让我花了很多时间来解决它。谢谢。 下面是我的阿贾克斯代码 当我在php文件中调用下面的代码时,结果是“未定义的索引:数据” //编辑So,当我尝试var_dump($_POST)时;,结果是array(0) {}。我错在哪里
问题内容: 我正在尝试通过AJAX将表单值发布到php文件中。如何收集表单值以发送到“数据”参数内部? HTML: 问题答案: 使用序列化方法: 文件:serialize()
问题内容: 我正在尝试使用POST方法编写XMLHttpRequest。我过去已经使用GET方法设法使用XMLHttpRequest,但是在POST方面却很挣扎。 这是我的代码: 它基本上调用PHP脚本,然后将一些信息添加到数据库中。 问题答案: 好吧,我已经设法对它进行了排序。 奇怪的原因虽然可能与沙箱安全性有关,但是我没有使用完整的URL地址,而是使用了文件的相对路径,现在可以使用了。 谢谢大
问题内容: 我正在尝试使用$ .post方法调用Web服务,我已经使用$ .ajax方法使它工作了: 但是,当我将相同的方法移到$ .post方法中时,它将无法工作: 我想念什么? 问题答案: 它不起作用,因为在您的方法中,您无法将请求的内容类型设置为。因此,不可能使用调用ASP.NET PageMethod,因为ASP.NET PageMethod需要JSON请求。您将不得不使用。 我将只修改,
我试图创建我的第一个Spring后端,简单的应用程序,存储音乐专辑。不幸的是,我创建的endpoint没有一个工作(我使用postman测试了它们,请求返回404,没有找到)。以下是我所有与项目相关的文件/代码: 我所尝试的: 结果: 正在添加应创建数据库的dataSource方法。 @bean@ConfigurationProperties(前缀=“spring.DataSource”)publ
问题内容: 似乎已经在stackoverflow上讨论过类似的内容,但是我找不到完全一样的东西。 我正在尝试发送带有CORS(跨源资源共享)的Cookie,但无法正常工作。 这是我的代码。 我在请求HEADER中看不到此Cookie。 问题答案: 您无法通过JavaScript在CORS请求上设置或读取Cookie。尽管CORS允许跨域请求,但cookie仍然受浏览器的同源策略约束,这意味着只有来