2015-03-13 61 views
-2

没有人知道什么是这行代码的输出

$.get("http://192.168.4.1:80/", {pin:p}); 

我的意思是,我知道它的一个AJAX?通过GET发送数据的代码,但我想手动发送相同的数据,像这样“.../pin:13”或“http://192.168.4.1:80/pin:13”但不起作用 特别是我对这个“{pin:p }”,我不知道的是,输出I感激,如果有人回答

+2

'$ .get'执行GET请求。 GET参数是URL中'?'后面的内容,由'key = value&key2 = value2'指定,所以它会返回任何'http://192.168.4.1:80 /?pin = foo'返回其中'foo '是'p'变量的值。我们没有其他想法,因为您没有给我们任何其他信息,并且IP是您本地网络上的私有IP。 '{pin:p}'创建一个新的JavaScript对象,其中键'pin'被设置为'p'的值。 – h2ooooooo 2015-03-13 17:28:59

+0

对于GET调用,传递的值通过'url'进行。所以你需要格式化参数更像?pin = 13。为什么不使用基本的ajax调用,因为您已经使用$ .ajax()而不是$ .GET()来使用jquery?然后,您可以指定该调用是GET还是POST,并以更一般的方式设置参数。 http://api.jquery.com/jquery.ajax/ – Bardicer 2015-03-13 17:31:40

+0

另外,令你困惑的{pin:p}是一个json对象,其属性名为pin,属性值为p。 – Bardicer 2015-03-13 17:33:18

回答

2

这将导致这样的网址:。

http://192.168.4.1:80/?pin=p 

您可以在此URL中替换变量p的值。

{pin:p}告诉jQuery在请求时要向URL添加什么查询字符串,其中对象中的每个属性/值对都成为URL查询字符串中的一个prop=value对。

如果您查看Chrome调试器的网络选项卡,您可以准确查看浏览器通过网络发送的任何网络请求的内容。


如果你想送什么是这样的:

http://192.168.4.1:80/pin:13

然后,你需要手动构建网址:

$.get("http://192.168.4.1:80/pin:" + p); 

您必须检查是否URL的路径部分允许使用:,还是需要使用%3A进行转义。

0

{pin:p}是您的GET请求的query string。您的代码相当于:

$.get("http://192.168.4.1:80?pin=" + p); 
相关问题