2011-08-27 67 views

回答

1

我认为OP在询问如何将long.URL转换为较短的URL,而无需重新加载页面。这将通过对网页的AJAX调用来完成,该网页上运行了一个脚本。

这里是我的尝试得到一个形式类似的效果提交,我不知道是什么方面是你最感兴趣的

<script type="text/javascript"> 
document.getElementById('formElement').onsubmit = "return requestURL();"; 
function requestURL() { 
    var data = document.getElementById('formInputData').value; // get value from <input type="text" id="formInputData /> 
    if (window.XMLHttpRequest) { 
     var request=new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari 
    } 
    else { 
     var request=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5 
    } 
    request.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     // if the request worked, output the data the server returned (PHP, .net, etc.) 
     document.getElementById('serveroutput').innerHTML = result.responseText; 
    } 
    request.open("GET", "serverscript.ext?data="+data, "true"); // Setup the server request 
    request.send(); // Send the request to the server 
    return false; // Stops the form from submitting normally 
} 
</script> 

这个例子不具有安全性,风格,或其他特殊东西,但可能会提供一个更好的主意。
JSON或类似的方法可能用于将数据返回到JavaScript,然后JavaScript将样式化并显示数据。我无法给出bit.ly使用的具体细节,但如果我尝试使用类似的JavaScript解决方案,则会使用这个想法。

我是如何回答这个问题的?我回答了完全不同的东西吗?我应该扩大答案吗?我问的问题太多了吗? (是最后一个问题)


响应于在按下空格键注释,该功能可以被添加到用下面的函数上面的代码。

<script type="text/javascript"> 
    document.getElementById('formInputData').onkeypress = function() { 
     if(document.getElementById('formInputData').value.split('')[-1] === " ") { 
      document.getElementById('formInputData').value = document.getElementById('formInputData').value.substring(0, str.length - 1); 
      requestURL(); 
     } 
    } 
</script> 
+0

亚,这几乎是我问的,就像用户输入时bit.ly如何将长URL转换为较短的URL。 – Whereisccguys

+0

从技术上讲,这不是用户输入的内容,而是在用户提交表单后进行转换。如果我回答了您的问题,您可以将问题标记为已回答,以便其他人知道问题已解决。 –

+0

没有方式bit.ly有它是因为用户完成键入一个网站,它会自动更改长URL到短URL(无需提交表单),我想你的答案不是我真正想要的。例如: 例如:当我输入“你好,这是我的推特www.twitter.com/myTwitter来看我的推文!” 只要我输入“myTwitter”,然后按空格,长网址更改为短网址。我猜是bit.ly当用户按下空间时检查每个单词吗? – Whereisccguys