您是否知道将Javascript对象编码为string可以通过GET请求传递的快速而简单的方法?
不jQuery,没有其他框架 - 只是简单的Javascript :)
在使用AJAX调用的Web应用程序中,我需要提交请求,但在URL的末尾添加一个参数,例如:
原始网址:
结果URL:
http://server/myapp.php?id = 10 &enabled = true
寻找一个解析每个参数的URL的JavaScript函数,然后添加新参数或更新值(如果已存在).
我有这个网址:
site.fwx?position=1&archiveid=5000&columns=5&rows=20&sorting=ModifiedTimeAsc
Run Code Online (Sandbox Code Playgroud)
我需要的是能够将'rows'url param值更改为我指定的内容,比方说10.如果'rows'不存在,我需要将它添加到url的末尾并添加价值我已经指定(10).
我期待写一段javascript,将一个参数附加到当前网址,然后刷新页面 - 我该怎么做?
目前我在http://example.com/topic.php?id=14,我想http://example.com/topic.php?id=14&like=like通过不定义当前网址来建立链接.喜欢<a href="&like=like">Like</a>.然而,这最后一个给我看http://example.com/&like=like
我正在使用jQuery 1.12.我想在我的窗口的URL查询字符串中替换查询字符串参数,或者如果之前不存在则添加参数.我试过以下:
new_url = window.location.href.replace( /[\?#].*|$/, "?order_by=" + data_val )
window.location.href = new_url
Run Code Online (Sandbox Code Playgroud)
但我发现的是,这会消除查询字符串中的所有先前参数,这是我不想要的.如果查询字符串是:
?a=1&b=2
Run Code Online (Sandbox Code Playgroud)
我希望新的查询字符串是:
?a=2&b=2&order_by=data
Run Code Online (Sandbox Code Playgroud)
如果查询字符串是:
?a=2&b=3&order_by=old_data
Run Code Online (Sandbox Code Playgroud)
它会变成:
?a=2&b=3&order_by=data
Run Code Online (Sandbox Code Playgroud) 所以我想在url中替换GET变量值,如果变量不存在,则将其添加到url.
编辑:我这样做的元素href不是页面的当前位置..
我不擅长使用javascript,但我确实知道如何使用jQuery以及javascript的基础知识.我知道如何编写正则表达式但不知道如何使用正则表达式的javascript语法以及使用它的函数.
这是我到目前为止,它在第3行有一个错误:在jsfiddle(或下面)看到它:http://jsfiddle.net/MadLittleMods/C93mD/
function addParameter(url, param, value) {
var pattern = new RegExp(param + '=(.*?);', 'gi');
return url.replace(pattern, param + '=' + value + ';');
alert(url);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用jQuery加载一个图像(使用PHP创建)并使用它传递一些变量(例如:) picture.php?user=1&type=2&color=64.这很容易.
困难的部分是我有一个下拉列表,它使我能够选择背景(类型参数),我将有一个输入,例如选择一种颜色.
这是我面临的问题:
&type=2向预先存在的字符串添加变量" "来起作用,就像我触摸下拉/输入几次它们将堆叠(&type=2&type=2&type=3))一样.&type=2" - 参见下面的代码)添加到预先存在的URL时,&-sign将消失(它变为如下所示:" signature.php?user=1type=2").这是jQuery的代码:
<script>
var url = "signatureload.php?user=<?php echo $_SESSION['sess_id']; ?>";
$(document).ready(function() {
window.setTimeout(LoadSignature, 1500);
});
$("#signature_type").change(function() {
url += "&type="+$(this).val();
LoadSignature();
});
function LoadSignature()
{
$("#loadingsignature").css("display", "block");
$('#loadsignature').delay(4750).load(url, function() {
$("#loadingsignature").css("display", "none");
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是我加载图像的代码:
<div id="loadsignature">
<div id="loadingsignature" style="display: block;"><img src="img/loading-black.gif" alt="Loading.."></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我不知道我能进一步解释我的问题.如果您有任何疑问或需要更多代码,请告诉我.
谢谢您的帮助!
编辑:
这是当前的代码:
<script>
var url = "signatureload.php?user=<?php echo $_SESSION['sess_id']; ?>";
$(document).ready(function() {
window.setTimeout(LoadSignature, 1500);
}); …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,可以添加点击元素的值.但是 - 我想在点击时将值替换为新值.
例:
<ul class="acfilter">
<li><a href="reset">reset</a></li>
<li><a href="One">One</a></li>
<li><a href="Two">Two</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
脚本
$(document).ready(function() {
$('ul.acfilter li a').on('click', function(e) {
e.preventDefault();
if ($(this).attr('href') != "reset") {
if (location.href.indexOf('?') === -1) {
location.href = location.href + "?fss=" + $(this).attr('href');
} else {
location.href = location.href + "+" + $(this).attr('href');
}
} else {
location.href = location.origin + location.pathname;
}
});
});
Run Code Online (Sandbox Code Playgroud)
第一个参数onclick给出?fss=one了第二个点击你得到的?fss=one+two.重置链接清除它.
但是 - 我想用点击上的"两个"值替换"一"值.该值是动态的 - 所以我不能只使用已知值执行If/Else url.replace.
我该怎么做呢?
编辑:
忘记提及url中可以有其他参数.例:
首先点击给出
?fss=one
Run Code Online (Sandbox Code Playgroud)
并且当做一个给出我提到的其他参数的动作时,它给出了:
?param=list&fss=one
Run Code Online (Sandbox Code Playgroud)
这是正确的使用用户brijesh …
我有一个 JavaScript 变量,我想将其与 HTML 链接一起传递。
<script>
var demo=10;
</script>
Run Code Online (Sandbox Code Playgroud)
我在执行一个 javascript 函数和几个 if-else 和 for 循环时获得了演示的价值。由于该代码对这个问题没有任何意义,因此我没有包含该代码。假设在所有这些操作之后,我得到的最终结果存储在 demo 变量中。现在我想传递这个演示变量以及一个链接。
<a href="to_fake_page.php">On click pass demo</a>
Run Code Online (Sandbox Code Playgroud)
我试图将 demo 变量作为参数传递给 href 链接。这可能吗???
我知道
window.location.href = "to_fake_page.php?demostore=demo";
Run Code Online (Sandbox Code Playgroud)
也会做同样的事情。
更新
这是我的 JavaScript 函数
该函数有一个parameter,它被传递到a_php_page.php执行一些数据库操作和条件检查的位置,并且相应的结果以 JSON 形式从 PHP 页面传回 AJAX 函数。我解析 JSON 并获取demo变量。如果我从 PHP 页面得到响应,则会包含 HTML 模式。在 HTML 模式中,我有一个链接,to_fake_page.php指向单击链接时必须传递 demo 变量的位置On click pass demo。
function onefunction(parameter)
{
if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
} …Run Code Online (Sandbox Code Playgroud) 可能重复:
添加或更新查询字符串参数
我试图替换查询字符串中的页码,无论数字是1.
请求参数
index.php?list&page=2&sort=epub
Run Code Online (Sandbox Code Playgroud)
JavaScript的
window.location.href.replace(new RegExp("/page=.*?&/"), "page=1&")
Run Code Online (Sandbox Code Playgroud) 我正在使用 Vue-Router 在 Vue 中做一个项目。在我的项目中,我有一个名为“adtag”的参数,它必须位于url查询参数中,有没有简单的方法来保存这个参数,无论路由器如何运行。
例如,我有三个页面:
使用 vue-router 更改页面<router-link :to="{name:'Detail',query:{id:item.id}}"></router-link>
如果我localhost/index?adtag=123使用 adtag 打开第一页,页面将随参数“adtag”而更改
javascript ×10
jquery ×4
query-string ×4
url ×4
html ×3
parameters ×3
regex ×2
get ×1
parsing ×1
php ×1
refresh ×1
replace ×1
url-parsing ×1
urlencode ×1
variables ×1
vue.js ×1