gpt4 book ai didi

javascript - 处理嵌套文件包含在 php 中并将值返回给 javascript 函数

转载 作者:行者123 更新时间:2023-11-30 17:38:59 26 4
gpt4 key购买 nike

login.php 中单击按钮我执行 redirect.php。此 redirect.php 执行 twitter 身份验证。为此,它会调用一些其他文件,而这些文件又会调用 index.php

index.php 给出结果 nameid,我想在 index.php 中检索它们。

源代码:Git source code

目前发生了什么,login.php 在 login.php 响应之前执行 $.get() 并警告 未定义的值

登录.php

    <body>
<input type="button" value="Run somePHPfile.php" id = "b1" />
<script>
$('#b1').click(function () {
window.location.href = 'redirect.php';

//This function needs improvement i think, is this correct place for this to get json value from index.php??
$.get('index.php', function(data) { //If I put this out side click then it gives undefined value for name and id before redirect.php gets executed
// data.id is the id
var id= data.id;
var name = data.name;
alert(name);
});
});
</script>
</body>

重定向.php

<?php

/* Start session and load library. */
session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');

... //some other processing
?>

索引.php

<?php
session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');

if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
header('Location: ./clearsessions.php');
}
$access_token = $_SESSION['access_token'];
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
$content = $connection->get('account/verify_credentials');
$twitteruser = $content->{'screen_name'};
$notweets = 5;
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);

$name = $content->{'name'};
$id = $content->{'id'};
echo json_encode((object) array('id' => $id, 'name' => $name)); //to retreive in login.php
?>

更新

$.get('index.php', 函数(数据) { var user_id=数据.id; var name = data.name; 警报(名称); //警报(名称); window.location.href = 'button.php';

},"json");

最佳答案

因为你的 php 文件正在输出一个 json 字符串,你的 get 调用需要知道它正在检索这样的字符串

$.get('index.php', function(data) {
var id= data.id;
var name = data.name;
alert(name);
},"json");

这将让 jquery 知道它需要将传入的数据解析为 json 字符串并将其解析为对象,否则您将不得不自己进行解析

$.get('index.php', function(data) {
data = JSON.parse(data);
var id= data.id;
var name = data.name;
alert(name);
});

关于javascript - 处理嵌套文件包含在 php 中并将值返回给 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21441084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com