Ajax 数据元素未拾取
Ajax data element not picking up
我在这里有一个错误,我确定:
var username = $("#username").val();
var password = $("#password").val();
var login = $("#login").val();
var remember = $("#remember").val();
console.log(username, password, login, remember); //this shows up fine
$.ajax({
url: 'php/login.php',
//here i think
data: {username:username,password:password,login:login,remember:remember},
type: 'POST',
dataType: 'application/json',
success: function(data)
{ ....
因为当我进入登录名时.php我在行上得到未定义的索引:
<?php
$username = $_POST['username']; //here
$password = $_POST['password']; //here
if ($_POST['login']) //check if the submit button is pressed
{
$remember = $_POST['remember']; and here
.....
我返回登录.php再往下:
echo json_encode("true"); //or "false"
在 Firebug 的响应窗格中:
<br />
<b>Notice</b>: Undefined index: username in <b>C:'xampp'htdocs'www'php'login.php</b> on line <b>5</b><br />
<br />
<b>Notice</b>: Undefined index: password in <b>C:'xampp'htdocs'www'php'login.php</b> on line <b>6</b><br />
123123123<br />
<b>Notice</b>: Undefined index: login in <b>C:'xampp'htdocs'www'php'login.php</b> on line <b>8</b><br />
尝试使用 php://input
这允许您读取原始数据。由于您使用的是应用程序/json,因此您必须获取原始数据
尝试使用:
$.ajax({
url: 'php/login.php',
data: JSON.stringify({'username':'username','password':'password','login':'login','remember':'remember'}),
type: 'POST',
dataType: 'json',
contentType: "application/json",
success: function(data) {.....
使用此方法 $.ajax 并传递所有内容也遇到了同样的问题:分开,但我如何使用以下代码片段来解决这个问题。
<script type="text/javascript">
$(function(){
$('#submit').on('click',function(){
var formdata ={
username:$('#username').val(),
password:$('#password').val(),
message:$('#message').val(),
submit:$('#submit').val()
};
var url=$('form').attr('action');
console.log(url);
console.log(formdata);
var posting = $.post(url,formdata);
posting.success(function(data){
$('.success').empty().append(data.username);
});
});
});
</script>
在此代码段中,.success 是一个 vriable,它在成功后吐出用户名。 以下是示例 PHP 代码。
<?php
foreach($_POST as $key => $val)
{
$result[$key] = $val;
}
header('Content-Type: application/json');
echo json_encode($result);
?>
尝试此方法,让我知道它确实解决了您的问题?
问候
试试这个方式。我之前遇到过同样的问题,这是当您使用自己的字符串作为键时,我可以让 JQuery 正确发送键/值对的唯一方法。
var username = $("#username").val();
var password = $("#password").val();
var login = $("#login").val();
var remember = $("#remember").val();
$.ajax({
url: 'php/login.php',
data: "username="username + "&password="+password + "&login="+login + "&remember="+remember,
type: 'POST',
dataType: 'json',
success: function(data)
{ ....
相关文章:
- 使用JQuery检索元素数据
- WebGL错误-错误:WebGL:bindBuffer:buffer已包含元素数据
- 如何在字符串中包含隐藏的 HTML 元素 - 数据表 - jquery
- 聚合物硒测试访问子元素数据
- 如何将动态元素数据传输到 struts2.
- j查询如何将值从输入字段设置为其他元素数据属性
- jQuery只会被点击元素数据
- 按方法动态更改元素数据
- 将父聚合物元素数据暴露给子元素
- 第一个jQuery插件-如何以正确的方式保存关联元素数据
- 将元素[数据]发布到服务器端的最佳方式
- Javascript隐藏对象元素数据值的子节点
- 获取AngularJS脚本中的HTML元素数据
- jQuery存储要在回调中使用的任意元素数据
- 查找父元素数据值并显示它
- 从元素数据中获取对象属性
- 插入HTML表格行"标题"基于动态可见元素数据属性的研究
- 查找具有与另一个元素数据属性匹配的id的元素的最佳方法
- 如何获得元素数据调试脚本
- Aurelia定制元素数据绑定