相关疑难解决方法(0)

使用空格传递字符串变量

在以下代码中:

    <script type="text/javascript">
        function updateView(set) {
            $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
                $( "#content" ).html( data );
            });
        }
    </script>
Run Code Online (Sandbox Code Playgroud)

'set'是一个字符串变量,可以在其中包含空格.我注意到它有空格时它无法正常工作.我怎样才能解决这个问题?

编辑:为清楚起见,我想保持空间完整.

javascript php jquery post codeigniter

4
推荐指数
2
解决办法
3万
查看次数

Javascript - encodeURI() 在不同的浏览器中返回不同的结果

我使用 encodeURI() 对 php 请求 url 进行编码,它在 Firefox 和 Chrome 中工作得很好,但在 IE/Edge 中却没有。

实际网址是: http://localhost/get.php?id=e_e2&title=e2&desc=just a note&stime=6/12/2015, 1:00:00 AM&etime=15/12/2015, 1:00:00 PM

Firefox 返回的是(有效): http://localhost/get.php?id=e_HO%20Event%201&title=HO%20Event%201&desc=This%20is%20just%20a%20test%20event%20of%20this%20handover%20only&stime=6/12/2015,%201:00:00%20AM&etime=10/12/2015,%201:00:00%20PM

IE 返回什么(破坏 php 代码): http://localhost/get.php?id=e_HO%20Event%201&title=HO%20Event%201&desc=This%20is%20just%20a%20test%20event%20of%20this%20handover%20only&stime=%E2%80%8E6%E2%80%8E/%E2%80%8E12%E2%80%8E/%E2%80%8E2015%E2%80%8E%20%E2%80%8E1%E2%80%8E:%E2%80%8E00%E2%80%8E:%E2%80%8E00%E2%80%8E%20%E2%80%8EAM&etime=%E2%80%8E10%E2%80%8E/%E2%80%8E12%E2%80%8E/%E2%80%8E2015%E2%80%8E%20%E2%80%8E1%E2%80%8E:%E2%80%8E00%E2%80%8E:%E2%80%8E00%E2%80%8E%20%E2%80%8EPM

我试图解码 IE 返回的内容,但它给我带来了很多问题!,那么有没有 encodeURI() 的替代方法?,即使我不对 url 进行编码,FF 似乎也可以工作,如果我复制 FF 编码,IE 可以工作网址吧!


更新:示例代码 链接

我认为它与 toLocaleString() 有关


最终更新:

由于很少有人回答,链接中的一些磨损标记“仅在 IE 中出现!” 我必须过滤并更改我的 php 脚本日期格式以删除逗号

function FixLocaleDateString(localeDate) {
    var newStr = "";
    for (var i = 0; i < localeDate.length; i++) {
        var code = localeDate.charCodeAt(i);
            if (code != 44 && code != …
Run Code Online (Sandbox Code Playgroud)

javascript php internet-explorer urlencode microsoft-edge

4
推荐指数
1
解决办法
2500
查看次数

javascript替换特殊字符

是否可以使用javascript字符串替换功能翻译特殊字符,如®,ü等?

javascript

3
推荐指数
2
解决办法
8789
查看次数

PHP中的Javascript的"unes​​cape"

我的图片主机有一个Google Chrome扩展程序,它会将URL发送到我的网站.该URL 通过Javascript的方法进行编码escape.

由以下内容编码的URL escape:

http%253A//4.bp.blogspot.com/-xa4Krfq2V6g/UF2K5XYv3kI/AAAAAAAAAJg/8wrqZQP9ru8/s1600/LuffyTimeSkip.png
Run Code Online (Sandbox Code Playgroud)

我需要通过PHP以某种方式将URL恢复正常,所以我可以检查它,filter_var($the_url, FILTER_VALIDATE_URL)如果URL如上所述,它显然会失败.

这就是Javascript的样子:

function upload(img) {
    var baseurl="http://imgit.org/remote?sent-urls=1&remote-urls=" + escape(img.srcUrl);
    uploadImage(baseurl);
}
function uploadImage(imgurl) {
        chrome.tabs.create({
        url: imgurl,
        selected: true
    });
}

var title = "Upload this image to IMGit";
var id = chrome.contextMenus.create({"title": title, "contexts": ['image'], "onclick": upload});
Run Code Online (Sandbox Code Playgroud)

这就是我在PHP中所做的:

if (!filter_var($file, FILTER_VALIDATE_URL) || !filter_var(urldecode($file), FILTER_VALIDATE_URL))
{
    throw_error('The entered URLs do not have a valid URL format.', 'index.php#remote'); break;
}
Run Code Online (Sandbox Code Playgroud)

坦率地说,urldecode()不为我做这份工作.正如您所注意到的,我正在接收URL $_GET.

处理这种情况的最佳方法是什么?

实际问题:如何在PHP中 …

javascript php validation url hyperlink

2
推荐指数
1
解决办法
5331
查看次数

javascript escape vs非ascii字符串的urlencode

  • 上下文:HTML网页(jade/node.js/javascript)
  • image url包含带空格/非ascii字符的字符串
  • 我需要使用escape或urlencode对这些字符串进行编码.
  • 截至目前我正在使用escape来专门编码空格.

但我无法证明/理解我是否应该使用escape来编码字符串或者我应该使用encodeurlcomponent.我试过阅读一些在线博客但还没有理解.

在什么情况下应该使用哪个指针.

javascript

2
推荐指数
1
解决办法
1740
查看次数

jQuery AJAX /使用符号发布数据

我正在通过我的AJAX调用发送相当多的值,如下所示:

var postData = "aid="+aid+"&lid="+lid+"&token="+token+"&count="+count+"&license="+license;
postData = postData + "&category="+category+"&event_name="+event_name+"&set_menu="+set_menu;
postData = postData + "&set_id="+set_id+"&location="+location+"&delay="+delay;
Run Code Online (Sandbox Code Playgroud)

然后像这样发送呼叫:

$.ajax({
    type : 'GET',
    url : 'ajax/createFolderID.asp',
    dataType : 'html',
    data : postData,
    success : function() { do something },
    complete : function() { do something },
    error : function() { do something }
});
Run Code Online (Sandbox Code Playgroud)

问题是,其中一个查询字符串值"event_name"来自用户输入.如果用户输入&符号,则postData字符串会断开,并且不会在该符号后发送任何内容.

示例案例:&event_name = D&G服装发布会&set_menu =现有...

我明白出了什么问题,但不太确定最好的解决方案是什么.我是否将这些字符转换为其他字符,或者有没有办法逃避它们?此外,是否还有其他任何会对脚本造成伤害的字符,如加号(+)或减号( - )符号或撇号(')?

javascript ajax jquery

1
推荐指数
1
解决办法
5253
查看次数

Python CGI脚本,我无法将'+'加运算符作为参数传递

我试图将参数传递给python cgi脚本,此参数包含加号运算符.

 /cgi-bin/test.py?input=print%20"%20"%20"%20%20-+-\"
Run Code Online (Sandbox Code Playgroud)

python cgi脚本很简单:

#!/usr/bin/python -w
import cgi
fs = cgi.FieldStorage()

print "Content-type: text/plain\n"
strE=fs.getvalue("input")
print strE
Run Code Online (Sandbox Code Playgroud)

我的输出是:

 print " " "  - -\"
Run Code Online (Sandbox Code Playgroud)

我不明白为什么'+'加运算符被空格替换,我怎么可以通过'+'加运算符?

编辑

@Tom Anderson回答了我的问题,我想再提一下我的问题.

我有一个java脚本函数调用获取带参数的url:

            <script type="text/javascript">

            function PostContentEditable(editableId,targetOutput)
            {
                        var texthtml = document.getElementById(editableId).innerHTML
                        var tmp = document.createElement("DIV");
                        tmp.innerHTML = texthtml ;
                        var str= tmp.textContent||tmp.innerText;

                        var xmlhttp;
                        if (str.length == 0){
                            document.getElementById(targetOutput).innerHTML = "";
                            return;
                        }
                        if(window.XMLHttpRequest){
                            xmlhttp=new XMLHttpRequest();
                        }
                        else{
                            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        xmlhttp.onreadystatechange=function(){
                            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                                 document.getElementById(targetOutput).innerHTML=xmlhttp.responseText;
                            }
                        }

                        xmlhttp.open("GET","../cgi-bin/exercise.py?input="+str,true);
                        xmlhttp.send();
            } …
Run Code Online (Sandbox Code Playgroud)

javascript python cgi url-parameters

1
推荐指数
1
解决办法
876
查看次数

在URL中传递包含'%'的参数?

例如something:8000/something.jsp?param1=update&param2=1000&param3=SearchString%&param4=3,在传递我的网址时,我收到以下错误:

Bad Request

Your browser sent a request that this server could not understand.
Run Code Online (Sandbox Code Playgroud)

我知道SearchString%我需要传递哪个作为参数,有问题.那么如何在URL中传递包含'%'的参数?

javascript url jsp

1
推荐指数
2
解决办法
9388
查看次数

用AJAX传递包含`&`的参数

我正在通过AJAX将我的字符串传递给PHP $.Ajax.

我正在尝试传递这个字符串:

action=abc&parameter=C&W
Run Code Online (Sandbox Code Playgroud)

AJAX C&W在此基础上拆分&,因此请求采用以下格式:

$action = "abc";
$parameter = "C";
Run Code Online (Sandbox Code Playgroud)

如何将其传递给它C&W,而不将其拆分为不同的参数?

javascript ajax jquery

1
推荐指数
1
解决办法
638
查看次数

使用HTTP请求编码字符串以进行发送?

我在Javascript/Node.js上,当我使用此查询参数发出HTTP请求时:

?key="https://me.yahoo.com/a/xt4hQ7QYssA8hymJKv8MeVQQKGhq_1jwvas-#a6e6f"
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,因为它之后的所有商品:

?key="https://me.yahoo.com/a/xt4hQ7QYssA8hymJKv8MeVQQKGhq_1jwvas-
Run Code Online (Sandbox Code Playgroud)

我想知道我怎么能编码这个字符串所以它不会砍掉它?

javascript encode node.js

0
推荐指数
1
解决办法
6463
查看次数

javascript +使用URL发送多个字符串

我有一个脚本调用另一个PHP页面并使用PHP get传递值.

一个变量q与URL一起发送,其中str是一个变量.

xmlhttp.open("GET","getdata.php?q="+str,true); 
Run Code Online (Sandbox Code Playgroud)

我想在URL字符串中发送一些多变量.

如何发送多个变量.

沿着:

xmlhttp.open("GET","getdata.php?q="+str+"y="+str2+"z="+str3,true); 
Run Code Online (Sandbox Code Playgroud)

那里的URL就像那样

page.php?q=Peter&y=John&z=Smith
Run Code Online (Sandbox Code Playgroud)

javascript php xml get

0
推荐指数
1
解决办法
1935
查看次数