似乎Ajax请求不起作用

时间:2013-11-12 12:54:53

标签: jquery ajax

我有跟随ajax代码......它似乎无法正常工作......

$('form').submit(function () {
    var email = $('#useremail').val();
    var name = $('#username').val();
    $.ajax({
        url: '/Landing2/mail.php',
        type: 'POST',
        data: {
            email: email,
            name: name
        },
        success: function (data) {
            alert(data);
        },
    });
});

我的dir sturcutre是

htdocs
 Landing2
    index.php (From where i am making request")
    mail.php

这有什么不对吗?

3 个答案:

答案 0 :(得分:3)

您要求的网址应为:

url: 'mail.php',

这对你有用。

答案 1 :(得分:3)

这有一些问题,您传递给Ajax调用的属性是不完整的。添加最终属性(即error: function() {})或从属性末尾删除最终,

此外,如果请求位置与当前位置位于同一目录中,您只需指定文件名(即url: 'mail.php'

示例代码:

$('form').submit(function () {
    var email = $('#useremail').val();
    var name = $('#username').val();
    $.ajax({
        url: 'mail.php',
        type: 'POST',
        data: {
            'email': email,
            'name': name
        },
        success: function (data) {
            alert(data);
        }
    });
});

答案 2 :(得分:2)

我假设您使用JQuery运行脚本。

Jquery不需要root的完整路径来发送查询。 如果您的网站网址为http://www.example.com/htdocs/Landing2/index.php

  • 如果您在网址中指定了/,则会从您的根网址中获取路径。

    $.ajax({
              url : '/htdocs/Landing2/mail.php',
              type: 'POST',
              data: {email:email,name:name},
              success: function (data){
                  alert(data);
              },
          });
    
  • 如果您未指定/,则会占用相同级别的文件夹。

     $.ajax({
              url : 'mail.php',
              type: 'POST',
              data: {email:email,name:name},
              success: function (data){
                  alert(data);
              },
          });
    
  • 或者您可以填写网站的完整网址。

    $.ajax({
              url : 'http://www.example.com/htdocs/Landing2/mail.php',
              type: 'POST',
              data: {email:email,name:name},
              success: function (data){
                  alert(data);
              },
          });
    

每个解决方案都会产生相同的效果,它只取决于您希望如何在代码中显示网址。

相关问题