Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery POST Ajax请求_Javascript_Jquery_Ajax_Post - Fatal编程技术网

Javascript jQuery POST Ajax请求

Javascript jQuery POST Ajax请求,javascript,jquery,ajax,post,Javascript,Jquery,Ajax,Post,我试图从服务器A发布数据,比如说:www.A.com到服务器B,www.B.com,然后从服务器B获取响应 我这样做,此脚本在服务器A上运行: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

我试图从服务器A发布数据,比如说:www.A.com到服务器B,www.B.com,然后从服务器B获取响应

我这样做,此脚本在服务器A上运行:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>    
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Naamloos document</title>
</head>

<body>

<form id="Form" onsubmit="validate();" method="post">
Email Address: <input type="text" id="email" name="email">
Password: <input type="text" id="password" name="password">
<input type="submit">
 </form>

<script>
function validate()
{
var e = $('email').value;
var p = $('password').value; //jQuery is easier to type
// the same as
// var p = document.getElementById('password').value;
var req = new Request({
    url: 'http://www.B.com/validate.php?',
    method: 'post',
    data: {'email' : e, 'password' : p},
    onComplete: function(response)
    {
        if (response == "Valid" ) 
        {
            alert("succes");
        }
        else
        {
            alert("blur");
        }
    }
}).send();
}
</script>

</body>
</html>

Naamloos文件
电邮地址:
密码:
函数验证()
{
var e=$('email')。值;
var p=$('password').value;//jQuery更容易键入
//同
//var p=document.getElementById('password')。值;
var req=新请求({
网址:'http://www.B.com/validate.php?',
方法:“post”,
数据:{'email':e,'password':p},
未完成:功能(响应)
{
如果(响应=“有效”)
{
警惕(“成功”);
}
其他的
{
警报(“模糊”);
}
}
}).send();
}
但是在这一刻,点击提交按钮后,唯一发生的事情是字段被清除,仅此而已

Validate.php如下所示:

<?php echo "Valid"; ?>

您正在提交表单,因此JavaScript永远没有机会做任何重要的事情。由于您尚未指定
操作
,因此它将提交到当前URL并重新加载页面

  • 停止使用内部事件属性
  • 使用JS事件绑定(既然您已经在使用jQuery,请继续使用它)
  • 捕获事件对象并防止提交事件的默认行为
  • 例如:

    
    $(“#表格”)。在('submit',validate');
    函数验证(事件){
    event.preventDefault();
    var e=$('#email').val();
    

    您似乎也没有在任何地方定义
    请求
    。您可能应该切换到


    还请注意,服务器B必须授予服务器使用CORS向其发出Ajax请求的权限。

    尝试替换此权限

    var e = $('email').value;
    var p = $('password').value;
    
    用这个

    var e = $('#email').val();
    var p = $('#password').val();
    

    浏览器控制台中是否打印了任何错误?将
    onError
    处理程序添加到您的请求中。使用
    console.Log(response)在控制台中记录响应
    告诉我们什么是
    请求
    类,我不知道itSee可能比w3school的任何东西都好。请您更正您的代码好吗?这不是有效的语法…:)好吧,这是有效的语法,只是不起作用,但那是OP的代码:)
    var e = $('#email').val();
    var p = $('#password').val();