-5

我有以下 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);
        },
    });
});

我的目录结构是

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

这有什么问题吗?

4

3 回答 3

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);
        }
    });
});
于 2013-11-12T13:02:18.597 回答
3

您请求的网址应该是这样的:

url: 'mail.php',

这对你有用。

于 2013-11-12T12:58:31.897 回答
2

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

Jquery 不需要从根目录的完整路径来发送查询。如果您的网站 URL 是http://www.example.com/htdocs/Landing2/index.php

  • 如果您/在 URL 中指定 a,则路径将从您的根 URL 获取。

    $.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);
              },
          });
    
  • 或者您可以输入您网站的完整 URL。

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

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

于 2013-11-12T13:09:30.037 回答