如何使用POST方法在jquery中发送数据?

时间:2017-10-17 19:01:08

标签: php jquery

我需要具备此功能:使用Facebook登录的用户登录。一旦用户连接,一些Facebook数据需要使用POST方法发送,因此另一个页面(setSes.php)可以处理数据。

我已经创建了下面的代码,(添加了一个额外的警报来查看数据是否应该按原样加载,哪个工作正常),但不知何故,页面setSes.php没有被调用。

function login() {
       FB.login(function(response) {
        if (response.status === 'connected') {
            document.getElementById('status').innerHTML = 'Connected';

            FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id,link,gender,locale,picture.width(9999).height(9999)'}, function(response) {
                var id=response.id;
                var firstName=response.first_name;
                var lastName=response.last_name;
                var picture=response.picture.data.url;
                alert("Selected ID= "+id);

                $.ajax({
                url:"/setSes.php ",
                method:"POST",

                data:{
                  UID: "id",
                  firstName: "firstName",
                  lastName: "lastName",
                  picture: "picture"
                }
              });
            });
        } else if (response.status === 'not_authorized') {
            document.getElementById('status').innerHTML = 'Not connected';
        } else {
            document.getElementById('status').innerHTML = 'Not able to login';
        }
       }, {scope: 'email'});
   }

setSes.php

<? 
include_once 'includes/db_connect.php';
include_once 'includes/functions.php';

sec_session_start();

$stmt = $mysqli->prepare("INSERT INTO users(first_name, last_name, oauth_uid, picture
    ) VALUES (?, ?, ?, ?)");
    $stmt->bind_param('ssss', $_POST["firstName"], $_POST["lastName"], $_POST["UID"], $_POST["picture"]);
    $stmt->execute(); 
    $stmt->close();

    echo "I ran";

?>

1 个答案:

答案 0 :(得分:1)

在ajax调用中,您传递字符串,而不是获取的变量。对于您的评论,setSes.php文件位于同一目录中,因此请尝试此...

var id = response.id,
    fName = response.first_name,
    lName = response.last_name,
    pic = response.picture.data.url;

$.ajax({
    method: "POST",
    url: "setSes.php",
    data: { UID: id, firstName: fName, lastName: lName, picture: pic },
    success: function(response) {
        alert('SUCCESS: ' + response);
    },
    error: function() {
        alert('ERROR');
    }
});