首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过$.ajax()将JavaScript变量发送到PHP文件中

如何通过$.ajax()将JavaScript变量发送到PHP文件中
EN

Stack Overflow用户
提问于 2018-09-12 08:05:31
回答 3查看 33关注 0票数 0

如何从下面的$.ajax()函数中将JavaScript变量exampleId发送到https://example.com/widget/widget-updater.php php文件中?

代码语言:javascript
复制
jQuery(document).ready(function($) {   

var element = document.getElementById('widget');
var exampleId = element.getAttribute('attributeExample');

alert(exampleId); /* This prints out correctly into a pop up box */



$.ajax({
type: "GET",
url: "https://example.com/widget/widget-updater.php"
});        

})(); 

我知道如何通过$_ get‘’exampleId‘在PHP中获取变量,但是我不知道如何通过上面的$.ajax()函数将它发送到PHP文件中。谢谢。

以下是代码:

代码语言:javascript
复制
<script 
src="https://example.com/widget/externalJSfileContainingTheCodeBelow.js" 
async></script><div id="widget" dataVar="1"></div>

这里是Javascript / jQuery代码

代码语言:javascript
复制
(function () {
var jQuery;
if (window.jQuery === undefined) {
var script_tag = document.createElement('script');
script_tag.setAttribute("type", "text/javascript");
script_tag.setAttribute("src",
"https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
if (script_tag.readyState) {
script_tag.onreadystatechange = function () {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
scriptLoadHandler();
}
};
} else {
  script_tag.onload = scriptLoadHandler;
}
(document.getElementsByTagName("head")[0] ||
  document.documentElement).appendChild(script_tag);
} else {
jQuery = window.jQuery;
main();
}

function scriptLoadHandler() {
jQuery = window.jQuery.noConflict(true);
main();
}

function main() {
jQuery(document).ready(function ($) {

var element = document.getElementById('widget');
var numberVariable = element.getAttribute('dataVar');
alert(numberVariable);

$.ajax({
type: "GET",
url: "https://example.com/widget/widget-updater.php",
data: { id: numberVariable }
});
var css_link = $("<link>", {
rel: "stylesheet",
type: "text/css",
href: "https://example.com/widget/widget.css"
});
css_link.appendTo('head');
var jsonp_url = "https://example.com/cgi-bin/data.py?callback=?";
$.getJSON(jsonp_url, function (data) {
$('#widget').html(data.html);
});
});
}
})(); 
EN

回答 3

Stack Overflow用户

发布于 2018-09-12 08:11:45

只需在ajax配置中添加一个data对象。

代码语言:javascript
复制
$.ajax({
   type: "GET",
   data:{'exampleId' : exampleId},
   url: "https://example.com/widget/widget-updater.php"
});

在内部,当查询字符串为GET时,jQuery将在url中创建查询字符串,并将成为

代码语言:javascript
复制
"https://example.com/widget/widget-updater.php?exampleId=12345"

您也可以手动创建查询字符串,但使用对象更简洁,工作量更少,也不容易出错

票数 0
EN

Stack Overflow用户

发布于 2018-09-12 08:11:56

如果使用的是GET响应,则可以在查询参数中传递数据。

您的ajax URL将如下所示:https://example.com/widget/widget-updater.php?exampleId=YOURDATA

代码语言:javascript
复制
$.ajax({
type: "GET",
url: "https://example.com/widget/widget-updater.php?exampleId=data"
});        

在PHP中,您可以使用$_GET['exampleId']并将为您提供data

票数 0
EN

Stack Overflow用户

发布于 2018-09-12 08:11:57

由于您使用的是GETmethod,因此您可以简单地附加您的URL IE:

代码语言:javascript
复制
$.ajax({
type: "GET",
url: "https://example.com/widget/widget-updater.php?id=12345&foo=bar"
});

或者,也可以在.ajax() IE中使用data属性

代码语言:javascript
复制
$.ajax({
type: "GET",
data:{id : '123456', foo: 'bar'},
url: "https://example.com/widget/widget-updater.php"
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52285674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档