使用jquery检查url参数是否存在

时间:2016-08-17 21:29:00

标签: jquery

我在Stack看到了一些类似的帖子,但我想在jquery中询问具体的功能

$.urlParam('GETparameter')

为什么简单 if($.urlParam('GETparameter') === undefined) 不工作?为什么在其他问题上有复杂的答案?

感谢您的回答,请有人编辑我的帖子吗?我的英语水平很低。

4 个答案:

答案 0 :(得分:6)

首先,就我所知,public class MainActivity extends AppCompatActivity { CallbackManager callbackManager; ShareDialog shareDialog; ShareLinkContent linkContent; @Override protected void onCreate(Bundle savedInstanceState) { FacebookSdk.sdkInitialize(getApplicationContext()); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); callbackManager = CallbackManager.Factory.create(); shareDialog = new ShareDialog(this); AppEventsLogger.activateApp(this); if (ShareDialog.canShow(ShareLinkContent.class)) { linkContent = new ShareLinkContent.Builder() .setContentTitle("") .setContentDescription( "") .setContentUrl(Uri.parse("https://www.facebook.com/globalwidemusiccom-116137701783410/")) .build(); shareDialog.show(linkContent); } ShareButton shareButton = (ShareButton)findViewById(R.id.fb_share_button); shareButton.setShareContent(linkContent); LikeView likeView = (LikeView) findViewById(R.id.like_view); likeView.setObjectIdAndType( "https://www.facebook.com/globalwidemusiccom-116137701783410/", LikeView.ObjectType.PAGE); WebView webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("https://globalwidemusic.com/AppGlobalWideMusic/index.html"); MobileAds.initialize(getApplicationContext(), "ca-app-pub-8679652085375496~2353468367"); AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); //new global wide music } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } } 不是固有的jQuery函数,这意味着如果你打算使用它,你需要定义它。

查找时,我找到了一个用户创建的同名函数;我将假设这是你所指的:

$.urlParam

如果找不到参数,看起来会返回$.urlParam = function(name){ var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); return results[1] || 0; } ,而不是0。如果此功能实际上是您引用的功能,那么您将要执行此操作:

undefined

答案 1 :(得分:5)

这里的另一个解决方案是URLSearchParams函数。

例如,如果您的URL是https://example.com?foo=bar&baz=qux,则可以检索所有参数,然后像这样查询特定的参数:

var urlParams = new URLSearchParams(window.location.search); //get all parameters
var foo = urlParams.get('foo'); //extract the foo parameter - this will return NULL if foo isn't a parameter

if(foo) { //check if foo parameter is set to anything
    alert('FOO EXISTS');
}

if(foo == 'bar') { //check if foo parameter is 'bar'
    alert('FOO == BAR');
}

答案 2 :(得分:0)

如果要检查变量类型,则需要使用以下内容:

userToUnfollow

typeof documentation

答案 3 :(得分:-1)

您可以尝试以下方法:

var url_param       = $(location).attr('href').split("?");
var param           = (url_param[1]);

url_param[1]是数组中的第二个元素(在这种情况下,URL参数(如果存在))。

然后您可以使用if(param!='') { // do something }

进行检查