将jquery变量获取到php变量中



Im将以下代码作为jQuery脚本的一部分,在div 中显示结果

var html = "";
//Displaying profile
if (options.display_profile) {
html += "<div class='instagram_profile'" + styles.profile_container + ">";
html += "<img class='instagram_profile_image' src='" + data.profile_pic_url  + "' alt='"+ (is_tag ? data.name + " tag pic" : data.username + " profile pic") + "'" + styles.profile_image + (options.lazy_load ? " loading='lazy'" : '') + " />";
if (is_tag)
html += "<p class='instagram_tag'" + styles.profile_name + "><a href='https://www.instagram.com/explore/tags/" + options.tag + "' rel='noopener' target='_blank'>#" + options.tag + "</a></p>";
else
html += "<p class='instagram_username'" + styles.profile_name + ">@" + data.full_name + " (<a href='https://www.instagram.com/" + options.username + "' rel='noopener' target='_blank'>@" + options.username + "</a>)</p>";
if (!is_tag && options.display_biography)
html += "<p class='instagram_biography'" + styles.profile_biography + ">" + data.biography + "</p>";
html += "</div>";
}

现在我想把结果传递到php变量中,这样我就可以把它传递到mysql表中,而不是在中打印出来

<div id='instagram-feed3' class='instagram_feed'></div>

有什么可以做的吗?

正如@Barmar在评论中建议的那样,您需要执行AJAX调用(由jQuery$.post((&$支持。ajax(((。提交数据时,您可以使用$_POST["name_of_var"](这是存储POST值的PHP变量(在PHP中获取变量。

这里有一个很好的教程,介绍如何做到这一点,以及你需要知道的一切。

但是:想想看,你喜欢把HTML存储在数据库中。那为什么这不是个好主意呢?

数据库的一条重要规则是:不应该保存从存储的数据中可以计算出的所有内容。当您这样做时,您可以保持数据的动态性—当您这样操作时,您只需更改一个变量即可影响其他计算的结果。存储整个计算的HTML将使以后很难对其进行编辑。用户更改了他的.profile_pic_url?更新数据库表中的一个单元格,让JS计算新的前端(是的,每次,当用户查看该内容时(。把HTML放在你的前端,将来你会感谢自己这么做的。在某些情况下,您可以在服务器站点上创建一些HTML,在某些情况中,只要它是动态的并且易于修改,就完全可以了。

结论:尽可能保持代码的动态性,以使将来的工作更轻松。考虑使用用户数据创建一个表,并根据该数据计算前端。

最新更新