簡體   English   中英

客戶端回調無法正常工作

[英]Callback from client-side not working

我有客戶端的html文件(跨平台應用程序的一部分),該文件轉到php文件,並且需要獲取變量或字符串,它正確地發布了數據但沒有收到。

這是在提交(客戶端.html)時觸發的:

 var $form = $( this ),
         $submit = $form.find( 'button[type="submit"]' ),
         username_value = $form.find( 'input[name="username"]' ).val(),
         password_value = $form.find( 'input[name="password"]' ).val(),

         url =  $form.attr('action');

     /* Send the data using post */

      $.post(url, {username: username_value, password: password_value},function (data) {

        alert(data);
    });

這是PHP文件:

<?php
$username   = $_POST['username'];
$password   = $_POST['password'];

$DBusername = 'root';
$DBpassword = '';
$project = mysql_connect('localhost',$DBusername, $DBpassword);

mysql_select_db('PickMeUpDatabase', $project);

$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);


if($count==1){
echo 'console.log("hi");'; 
        $message = "saved successfully";
        echo $message;
}
else
{
    $sql = "Insert into users Values('me','myself','I','".$username."','Irene')";
mysql_query($sql);
        echo "Helooo";
}
    ?>

我知道在這一點上php文件真的沒有意義,我為調試進行了很多更改,但是正在傳遞“ else”語句中的mysql查詢並將其添加到數據庫中,但是它下面的回顯並沒有返回到它將要返回的位置在html中被警告。 實際上,我可以在html中更改警報以警報任何事情,並且它不會發生。

發生這種情況的原因可能有很多。

您是否已打開錯誤報告? 如果不是,請將其放在php分隔符之后:

ini_set( "display_errors", true );

另外,數據是否跨域發送? 將其放在上一行之后,

 header('Access-Control-Allow-Origin: *');

現在,可能是POST,但這並不一定意味着數據可以在服務器端使用。 每當我在JQuery中使用post()函數時,我都希望將字符串用作數據參數。 看起來有些變量也是未定義的。

所以我會這樣重寫:

 var $form = $( this ),
         $submit = $form.find( 'button[type="submit"]' ),
         username_value = $form.find( 'input[name="username"]' ).val(),
         password_value = $form.find( 'input[name="password"]' ).val(),

          /* Turn the variables into strings- for simplicity! */
         url =  "http://localhost/location/of/php_file.php";


      var data='username='+username_value+'&password='+password_value;
      $.post(url, data, function (data) {

        alert(data);
    });

那應該清理多一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM