iT邦幫忙

2

(已解決)使用 ajax 傳值失敗

我在 index.php 取得參數 a 和 b 後
想使用 ajax 傳送到 runtest.php
但失敗了
程式如下

index.php

<script>
function submitInput() {
    
    //javascript 取得 a 和 b ...
    alert(a); //成功
    alert(b); //成功
    
    //send POST request to runtest.php
    $.ajax({
        type: "POST",
        url: "runtest.php",
        data:{Text1:a,Text2:b},
        success:function(result) {
            alert(result);
        },
        error:function(xhr) {
            alert('Ajax request 發生錯誤');
        }
    });
}
</script>

runtest.php

<?php
    $Text1 = $_POST["Text1"];
    $Text2 = $_POST["Text2"];
    echo $Text1."\n".$Text2;
?>

謝謝

看更多先前的討論...收起先前的討論...
dragonH iT邦超人 5 級 ‧ 2019-10-21 14:28:53 檢舉
錯誤訊息呢?
柯柯 iT邦新手 5 級 ‧ 2019-10-21 14:35:45 檢舉
$str = $Text1."\n".$Text2;
echo json_decode($str);
這樣看有沒有
小斑 iT邦新手 4 級 ‧ 2019-10-21 14:45:07 檢舉
@dragonH
我加入了error的提示訊息,但沒有顯示,感覺是ajax無作用(?)

@柯柯
改了,但也不行呢,還是謝謝
dragonH iT邦超人 5 級 ‧ 2019-10-21 14:46:18 檢舉
打開你的 browser console

看有沒有任何的錯誤

或者有沒有真的發 http request 出去
YoChen iT邦研究生 5 級 ‧ 2019-10-21 14:51:16 檢舉
結果發現沒有引用jQuery~((誤
dragonH iT邦超人 5 級 ‧ 2019-10-21 14:52:05 檢舉
@YoChen

其實我也想到這個XD

不過還是選擇相信他
小斑 iT邦新手 4 級 ‧ 2019-10-21 15:01:36 檢舉
天阿~
發現真的是沒有引用到jQuery......
實在太不好意思了......也感謝你們點醒了我^_^;;;
dragonH iT邦超人 5 級 ‧ 2019-10-21 15:15:44 檢舉
呃..

好吧

還是給你個建議

寫這種 web app

最好保持 browser console 常駐

像你這情況

估計在 console 會有

$ is not defined

的錯誤
froce iT邦大師 1 級 ‧ 2019-10-22 16:31:44 檢舉
browser console 不用常駐還能寫code的人我覺得才是神人。XD

1 個回答

3
dragonH
iT邦超人 5 級 ‧ 2019-10-21 14:42:41
最佳解答

我測是都可以正常啦

front.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <title>Document</title>
</head>
<body>
  
</body>
<script>
  $(document).ready(() => {
    const a = 'demo';
    const b = 'ithelp';
    $.ajax({
      url: 'back.php',
      data: {
        Text1 : a,
        Text2 : b,
      },
      method: 'POST',
      success(res) {
        console.log(res);
      },
      error(xhr) {
        console.log(xhr);
      }
    })
  });
</script>
</html>

back.php

<?php
    $Text1 = $_POST["Text1"];
    $Text2 = $_POST["Text2"];
    echo $Text1."\n".$Text2;

result

demo
ithelp

我要發表回答

立即登入回答