2014-04-15 53 views
0

爲什麼這不起作用?Javascript AJAX方法

function AjaxCall (FormName, PHPFunction) { 
    alert(FormName); 
    $.ajax({ 
     type: "GET", 
     url: "webservice.php?method=" + PHPFunction, 
     data: $("'" + FormName + "'").serialize(), 
     success: function (response) { 
      alert(response); 
     }, 
     failure: function (response) { 
      alert(response); 
     } 
    }); 
    } 

,這是從形式呼叫:

<form id="form_login" name="form_login" method="POST" onsubmit="return AjaxCall('form_login','CheckUserLogin')"> 

謝謝

+0

什麼是錯誤信息? – Hatsjoem

+0

用'error'取代失敗? –

+0

以及您的表單將提交,這是一個問題。 – epascarello

回答

0

FormName'form_login',你作爲一個jQuery選擇,如果你間沒有」,這將匹配<form_login>元素使用不要將引號添加到字符串中,但根本不像您那樣是有效的選擇器。

不要混淆傳遞標識字符串,只是傳遞元素本身。

onsubmit="return AjaxCall(this, ... 

$(FormName) 
0

該代碼將正常工作:

HTML代碼:

<form id="form_login" name="form_login" method="POST" onsubmit="" action=""> 

E-Mail: <input type="text" size="30" name="email" id="email" > 
Passwort: <input type="text" size="30" name="password" id="password" > 
DeviceID: <input type="text" size="30" name="deviceid" id="deviceid" > 

<input type="submit" value="Login" name="submit_login" /> 

</form> 

JavaScript代碼:

$(function() { 
    $('#form_login').on('submit', function (e) { 
     $.ajax({ 
      type: 'GET', 
      url: 'webservice.php?method=CheckUserLogin', 
      data: $('#form_login').serialize(), 
      success: function (response) { 
       alert(response); 
      }, 
      failure: function (response) { 
       alert(response); 
      } 
     }); 
     e.preventDefault(); 
    }); 
}); 

所以,現在我將其更改爲他們:

HTML代碼:

<form id="form_login" name="form_login" method="POST" onsubmit="return AjaxCall('form_login', 'CheckUserLogin')" action=""> 

E-Mail: <input type="text" size="30" name="email" id="email" > 
Passwort: <input type="text" size="30" name="password" id="password" > 
DeviceID: <input type="text" size="30" name="deviceid" id="deviceid" > 

<input type="submit" value="Login" name="submit_login" /> 

</form> 

JavaScript代碼:

function AjaxCall(FormName, PHPFunction) { 
    $.ajax({ 
     type: 'GET', 
     url: 'webservice.php?method=CheckUserLogin', 
     data: $('#form_login').serialize(), 
     success: function (response) { 
      alert(response); 
     }, 
     failure: function (response) { 
      alert(response); 
     } 
    }); 
} 

我沒有得到任何請求webserice.php,我不知道爲什麼。我可以看到任何AJAX請求,我使用小提琴,所有我能看到的是: 「/projekte/werbung/login.php」