为了账号安全,请及时绑定邮箱和手机立即绑定

使用ajax发送双引号时出错

使用ajax发送双引号时出错

PHP
人到中年有点甜 2022-10-28 15:09:50
我想让用户输入一个 URL。我想使用 Ajax 将该 URL 发送到我网站上的另一个页面。在另一个页面上,它将 url 存储在一个变量中,并对 url 做一些事情。问题:如果用户没有输入 URL 而是一些双引号,我会收到错误消息。主页上的代码:var url = document.getElementById("url").value;$.ajax({                type: "POST",                url: "api/checkURL",                processData: false,                contentType: "application/json",                data: '{"URL": "'+url+'"}',                success: function(r) {                        //do something here                }})其他页面上的代码(我将 Ajax 请求发送到的页面)if($_GET['url'] == "checkURL") {                $data = file_get_contents("php://input");                $data = json_decode($data);                $url = $data->URL;                //do something with the url}如果有人输入双引号,我得到的错误<b>Notice</b>:  Trying to get property 'URL' of non-object in <b>C:\xampp\htdocs\website\api\index.php</b> on line <b>15</b><br />(第 15 行是行$url = $data->URL;:)如果用户输入https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png,它可以工作并且没有错误。但是,如果用户输入",则会出现错误。有谁知道我该如何解决这个问题?
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

用于JSON.stringify创建 JSON,不要手动创建。它将正确地转义引号。


$.ajax({

    type: "POST",

    url: "api/checkURL",

    processData: false,

    contentType: "application/json",

    data: JSON.stringify({URL: url}),

    success: function(r) {

            //do something here

    }

})


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号